当组件视图修改HTML时,文本组件不再可编辑
我正在尝试构建一个自定义组件,内容中包含一些Lorem ipsum文本,以便在画布上进行编辑。但我也想修改视图中的HTML(添加一些我想在编辑器中显示但不在已保存HTML中的内容)。我尝试过类似这样的方法: 问题是,如果我像上面那样修改render()函数,文本部分中的文本组件(h1和p)就无法通过双击文本编辑。 有没有更好的方式来实现我想做的事情? 谢谢!
roytang
我尝试了上述方法,具体如下: 但在把组件放到画布后,我仍然无法编辑 h1 和 p 元素的文本。:(
artf
抱歉我之前没注意到 “''js var html = this.el.innerHTML; html = “<h1>ABC</h1>” + html; this.el.innerHTML = html; ``` 你基本上是移除模型中的元素,并以HTML形式附加一个新字符串(编辑器已经无法访问他们的模型了)。如果你想添加新组件,应该通过模型来实现(例如 'view.model.append(<div>'stuff</div>')')
artf
你可以扩展文本组件,而不是基础组件 “''js const defaultType = comps.getType('default'); const textType = comps.getType('text'); ... view: textType.view.extend({ ... ```