我正在使用Draft.js blockRendererFn
组件。我通过EditorBlock
道具正确指定了自定义块渲染器。该组件根据Draft documentation中的建议呈现从draft-js导入的blockProps
。在我的自定义块渲染器中的道具中,我没有关于块是否是只读的信息。至少不是默认情况下。我可以通过EditorBlock
得到它,但我觉得我错过了什么。就像它在使用readOnly
时应该自然地工作一样。就像它可以从上下文或其他东西获得EditorBlock
值。
当readOnly
为true
时,我是否有责任在没有readOnly
的情况下呈现我的广告素材?并且我有责任通过blockProps
将$FilesToFind = Get-ChildItem -Recurse 'c:\s\includes' -File -Include *.cs | Select Name
Get-ChildItem -Recurse C:\S -File -Include *.cs | ? { $_.Name -in $FilesToFind -and $_.Directory -notmatch '^c:\s\includes' } | Select Name, Directory
值传播到我的自定义块渲染器吗?
答案 0 :(得分:2)
嗯,我在松散的draftjs团队得到了回答,所以我要在这里总结一下:
将readOnly
设置为true应该足以阻止整个编辑器中的任何onChange
回调。我的问题是一种错误,我在editable
返回的自定义块渲染器中将true
设置为blockRendererFn
。这导致readOnly
标志被覆盖,从而允许我的自定义块中的更改。艾萨克将此标记为可能不受欢迎的行为。
我的解决方案是在自定义块渲染器上不指定我的块是否可编辑。这样就可以正确地考虑readOnly
,我不得不做更多的事情。
答案 1 :(得分:1)
将readOnly = {readOnly}传递给编辑器可解决问题。
<Editor
readOnly={readOnly}
/>