ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

vue-quill-editor.js 如何把html的内联样式回写到vue-quill-editor组件

2024-01-17 09:37:30  阅读:62  来源: 互联网

标签:


可以使用 Quill API 中 getContents() 方法来获取当前编辑器中的所有内容,然后遍历内容来查找内联样式,最后将样式写回到富文本编辑器中。

以下是一个简单的示例代码,它会在编辑器中输入 <p style="color:red;font-size:20px;">hello world</p> 后将该段文字的样式应用到编辑器中的一个按钮中。

<template>
  <div>
    <quill-editor v-model="content"></quill-editor>
    <button :style="buttonStyle">{{ content ? 'hello world' : '' }}</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      content: '',
      buttonStyle: {},
    }
  },
  watch: {
    content() {
      const delta = this.quillEditor.getContents()
      delta.ops.forEach(op => {
        if (op.attributes && op.attributes.style) {
          this.buttonStyle = op.attributes.style
        }
      })
    }
  },
  mounted() {
    this.quillEditor = this.$refs.quillEditor.quill
  }
}
</script>

在这个示例中,我们在数据中定义了 content 和 buttonStyle 两个属性。quill-editor 是一个富文本编辑器,v-model 用于双向绑定 content 属性。

当 content 改变时,我们使用 quill-editor 的 getContents() 方法来获取当前编辑器中的所有内容。然后,我们遍历整个 delta 对象,并查找具有属性 style 的操作。如果找到了内联样式,我们将其传递给 buttonStyle 属性,它将应用于按钮中。

最后,我们使用 this.$refs.quillEditor.quill 通过引用获取到 quill-editor 组件的实例。这允许我们在组件的生命周期钩子函数 mounted() 中访问编辑器实例,以便将其存储在 quillEditor 变量中,而无需在每次使用时引用它。

请注意,这只是一个简单的示例,你可以根据自己的需求来进一步修改代码。

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有