样式处理
我们先来看一下 WeEditorPlus 组件渲染完成后的 Shadow DOM 结构

上图是浏览器渲染后得到的完整 DOM 树结构,而我们需要配置的是用红线框出来那部分的样式。
我们可以通过全局样式注入或组件样式注入的方式注入样式规则,然后通过配置 WeEditorPlus 的 containerClass、containerStyle、toolbarClass、toolbarStyle、editableClass 和 editableStyle 这六个 prop 来动态设置样式。
样式注入
全局样式注入
import { weEditorPlusCssRule } from 'wangeditor5-for-vue3'
// 注入 css 文本
weEditorPlusCssRule(`.box { font-size: 18px; color: red; }`)
// 注入 css 文件路径
weEditorPlusCssRule(`xxx/xxx/xxx.css`)
组件样式注入
组件样式注入主要是通过设置 WeEditorPlus 组件的 cssRule 属性来实现
<template>
  <we-editor :css-rule="rule" />
</template>
// 可以是 css 文本
const rule = `.toolbar { border: 1px solid #d9d9d9; }`
// 可以是一个对象
const rule = {
  '.container': {
    zIndex: 100,
  },
  '.toolbar': {
    color: 'pink',
  },
  '.editable': {
    height: '500px',
  },
}
// 还可以是一个数组
const rule = [
  `.toolbar { border: 1px solid #d9d9d9; }`,
  {
    '.container': {
      zIndex: 100,
    },
    '.toolbar': {
      color: 'pink',
    },
    '.editable': {
      height: '500px',
    },
  },
]
import { WeCssRuleList } from 'wangeditor5-for-vue3'
// 可以是 css 文本
const rule: WeCssRuleList = `.toolbar { border: 1px solid #d9d9d9; }`
// 可以是一个对象
const rule: WeCssRuleList = {
  '.container': {
    zIndex: 100,
  },
  '.toolbar': {
    color: 'pink',
  },
  '.editable': {
    height: '500px',
  },
}
// 还可以是一个数组
const rule: WeCssRuleList = [
  `.toolbar { border: 1px solid #d9d9d9; }`,
  {
    '.container': {
      zIndex: 100,
    },
    '.toolbar': {
      color: 'pink',
    },
    '.editable': {
      height: '500px',
    },
  },
]