基本用法
使用 v-model 双向绑定
文本通过 modelValue(而不是 value)绑定,因此可以像其他 Vue 组件一样使用 v-model。
从外部修改 modelValue 时,编辑器的内容会被替换。以下两个 props 控制此时视图的行为:
scroll-into-view(默认true):滚动到更新后的选区位置。preserve-scroll-position(默认false):保持当前滚动位置。适用于持续追加文本的场景(日志、流式输出等)。
通过插槽设置初始文本
除了 v-model,也可以把初始文本写在组件内部。只会使用第一个子节点的文本。
Warning
- 插槽内容会覆盖
v-model的值,请不要同时使用。插槽方式适用于只读的简单语法高亮。 - 请用
<pre>包裹文本,避免空白被合并。 - 插槽方式在 Vue 2.7 中无效。
只读与禁用
仅用于语法高亮展示时,请使用 disabled。
编辑行为
Tip
启用 tab 后,Tab 键会被编辑器占用。键盘用户可以先按 Esc 再按 Tab 离开编辑器。
自定义快捷键
向 keymap 传入 KeyBinding 数组。如果 run 返回 true,该按键的默认行为将不会执行。
监听事件
各事件的参数请参阅 事件。
翻译编辑器界面
使用 phrases 可以翻译 CodeMirror 显示的文字(搜索面板、代码检查面板、折叠标记等)。可用的键请参阅 CodeMirror 的 翻译示例。
Tip
与 vue-i18n 结合使用时,请将 phrases 设为响应式(例如 computed),以便在切换语言时更新编辑器。完整的翻译表和 vue-i18n 示例请参阅 国际化。