Skip to content

Code 代码

用于展示代码片段的组件,支持语法高亮、行号、复制等功能。

Python
def hello(name):
    print(f'Hello, {name}!')

API

Code Props

属性说明类型默认值
code代码内容string''
language代码语言CodeLanguage'plaintext'
theme代码主题'dark' | 'light' | 'neon''neon'
line-numbers是否显示行号booleanfalse
highlight-lines高亮的行号string | number[]undefined
start-line起始行号number1
copyable是否可复制booleantrue
show-language是否显示语言标签booleantrue
filename文件名stringundefined
max-height最大高度string | numberundefined
wrap是否自动换行booleanfalse
readonly是否只读booleanfalse

Code Events

事件名说明类型
copy复制成功时触发(code: string) => void

Code Slots

插槽名说明
icon文件图标
actions自定义操作按钮

Code Methods

方法名说明类型
getCode获取代码内容() => string
copy复制代码() => Promise<void>
getElement获取组件DOM元素() => HTMLDivElement | null

CodeLanguage 类型

typescript
type CodeLanguage =
  | 'javascript'
  | 'typescript'
  | 'vue'
  | 'html'
  | 'css'
  | 'scss'
  | 'json'
  | 'bash'
  | 'shell'
  | 'python'
  | 'java'
  | 'cpp'
  | 'csharp'
  | 'go'
  | 'rust'
  | 'sql'
  | 'markdown'
  | 'yaml'
  | 'xml'
  | 'plaintext';

无障碍支持

  • 使用语义化的 HTML 标签
  • 完整的 ARIA 属性支持
  • 支持屏幕阅读器
  • 支持键盘导航
  • 支持减少动画偏好设置

主题定制

可以通过 CSS 变量自定义代码组件样式:

css
:root {
  --ex-code-bg: var(--ex-color-bg-secondary);
  --ex-code-border-color: var(--ex-color-border-primary);
  --ex-code-text-color: var(--ex-color-text-primary);
  --ex-code-line-number-color: var(--ex-color-text-tertiary);
}