我创建了一个包含 captioned_image
节点类型的文档架构,该节点类型引用单独 CMS 中的图像。该图像有标题和来源,我希望在文档中可以对其进行编辑。当用户在 ProseMirror 编辑器中编辑内容时,我可以记录更改并向 CMS 发送包含更新的请求。
但是,当其他用户在 CMS 中编辑图像时,标题和致谢字段可能会被“锁定”。
当 captioned_image
节点的标题和信用子节点被其他用户锁定时,如何使这些字段不可编辑?不能将所选内容放置在某个位置。
最佳答案
我可以想到两种方法
当文档的某个部分被锁定时,过滤变换操作,取消(重置为旧状态)任何触及该区域的操作(可以通过对中的元素调用
forEach
来确定)action.transform.mapping.maps
)。为这些类型的节点编写自定义节点 View ,并为其指定属性
readOnly
。当它们应该变得不可编辑时切换它,当它打开时,使用contenteditable=false
呈现锁定的内容。但请注意,这并不能防止对内容进行程序性更改。此外,它还会导致无法将光标放入其中,这可能是不希望的。
关于javascript - 如何在 ProseMirror 中动态地使节点的子内容不可编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40939898/