wangEditor 如何让自定义node 既满足删除整个节点/节点内不能输入文字,又能够使用text的样式

2cmtqfgy  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(48)

问题描述

富文本中需要插入动态参数,动态参数会在渲染时替换为真实的内容。所以自定义了一种新的节点类型dynamicField,使用时发现这种节点类型不能设置字体、背景色、字号、颜色等样式,应该如何操作

wangEditor 版本

5.1.23

是否查阅了文档 ?

(文档链接 www.wangeditor.com

最小成本的复现步骤

比如添加了一个自定义参数为 ${username},参数名称是固定的,不能轻易修改
1、动态参数设置props: { contentEditable: false }后,参数文字不能设置字体颜色等样式,比如设置为红色
2、动态参数设置props: { contentEditable: true }后,参数文字可以设置字体颜色等样式,但是参数可以被修改,如在参数中间输入 “wang” 变为 “${username_wang}”

z9zf31ra

z9zf31ra1#

每个菜单按钮都有自己的置灰条件,在 isDisabled 方法中,如 改变字体颜色的菜单的置灰条件就如下

可能是你写的扩展被 Editor.isVoid 捕获到了。isVoid 的 逻辑写在 slate 的源码中 是用来判断 该node的type是否在合法的type(基础的type中)中,不是则返回true。

ctehm74n

ctehm74n2#

想要支持编辑基础type之外的其它type可能要修改源码,比如现在的video就不支持居左居右布局,我研究一下,有需要的话可以关注一下 wangeditor-next ,我会在这里更新支持。

o2gm4chl

o2gm4chl3#

请问一下如何让 自定义node 的 参数文字可以设置字体颜色等样式,我加了 props: { contentEditable: true } 也没用

vom3gejh

vom3gejh4#

@LXMsaal 自定义字体颜色看定要套用原来的逻辑的,具体你可以看wangeditor table module 里嵌套的文字是怎么做的。

相关问题