最近需要用vue做一个富文本编辑器,我选择了vue-quill-editor,可是需要实现禁用的效果,Quill-editor官方网站上虽然说明了如何禁用,但我没有找到用vue如何实现的方法,在网上也没有找到解决方法后,我自己实现了一下。

vue:

<el-form-item label="描述:" :label-width="formLabelWidth">
    <quill-editor
      v-model="form.content"
      ref="content"
      :options="editorOption"
      @blur="onEditorBlur($event)" 
      @focus="onEditorFocus($event)"
      @change="onContentChange($event)"
      @ready="onEditorReady($event)">
    </quill-editor>
</el-form-item>

js:

export default {
    data() {
        form: {
            content:'', // 存储富文本框内容
        },
        editorOption: { // 定义富文本编辑器显示
            modules:{
            toolbar:[
              ['bold','italic','underline','strike'], // 加粗、倾斜、下划线、删除线

              [{'header':1},{'header':2}], // 标题一、标题二
              [{'list':'ordered'},{'list':'bullet'}], // 列表

              [{'color':[]},{'background':[]}], // 字体颜色、背景颜色
            ]
          }
        }
    },
    methods: {
        onEditorReady(){ // 富文本准备时的事件

        },
        onEditorFocus(val,editor){ // 富文本获得焦点时的事件
            console.log(val); // 富文本获得焦点时的内容
            editor.enable(false); // 在获取焦点的时候禁用
        },
        onEditorBlur(val){ // 富文本失去焦点时的事件
            console.log(val); // 富文本失去焦点时的内容
        },
        onContentChange(val){ // 富文本内容改变时的事件
            console.log(val); // 富文本改变时的内容
        }
    }
}

富文本工具栏显示更多请参考这一篇


想要在特定的时候禁用的话,加个判断就可以了,暂时只做到这样,不知有没有更好的方法

Logo

前往低代码交流专区

更多推荐