wangEditor
wangEditor copied to clipboard
如何让自定义node 既满足删除整个节点/节点内不能输入文字,又能够使用text的样式
问题描述
富文本中需要插入动态参数,动态参数会在渲染时替换为真实的内容。所以自定义了一种新的节点类型dynamicField,使用时发现这种节点类型不能设置字体、背景色、字号、颜色等样式,应该如何操作
wangEditor 版本
5.1.23
是否查阅了文档 ?
(文档链接 www.wangeditor.com )
是
最小成本的复现步骤
比如添加了一个自定义参数为 ${username},参数名称是固定的,不能轻易修改 1、动态参数设置props: { contentEditable: false }后,参数文字不能设置字体颜色等样式,比如设置为红色 2、动态参数设置props: { contentEditable: true }后,参数文字可以设置字体颜色等样式,但是参数可以被修改,如在参数中间输入 “wang” 变为 “${username_wang}”
每个菜单按钮都有自己的置灰条件,在 isDisabled 方法中,如 改变字体颜色的菜单的置灰条件就如下
可能是你写的扩展被 Editor.isVoid 捕获到了。isVoid 的 逻辑写在 slate 的源码中 是用来判断 该node的type是否在合法的type(基础的type中)中,不是则返回true。
想要支持编辑基础type之外的其它type可能要修改源码,比如现在的video就不支持居左居右布局,我研究一下,有需要的话可以关注一下 wangeditor-next,我会在这里更新支持。
请问一下如何让 自定义node 的 参数文字可以设置字体颜色等样式,我加了 props: { contentEditable: true } 也没用
@LXMsaal 自定义字体颜色看定要套用原来的逻辑的,具体你可以看wangeditor table module 里嵌套的文字是怎么做的。