wangEditor
wangEditor copied to clipboard
table 无法被clear
trafficstars
bug 描述
正文
<table style="width: 100%;"><tbody><tr><p><br></p></tr></tbody></table><p><br></p>
因table无法被Clear,HTML在切换的时候,table会被遗留下来。
你预期的样子是?
调用 editor.clear() 后 返回 <p><br></p>
系统和浏览器及版本号
- macOS
- Chrome
wangEditor 版本
V5
demo 能否复现该 bug ?
能
- 中文 demo https://www.wangeditor.com/demo/
最小成本的复现步骤
- clear()两次之后table依然存在
确实,windows10 chrome/edge 下也是这样的情况,用的最新版本的js
期待可以得到清空,现在也发现了一个新的问题,当onCHange返回为这个信息的时候
可以参考下:
// vue2
import { SlateTransforms } from '@wangeditor/editor'
methods: {
onCreated (editor) {
this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错
this.slateTransforms = SlateTransforms
},
resetHtml () {
// 使用原生slate.js删除内容
this.editor.children.map(item => {
this.slateTransforms.delete(editor, { at: [0] })
})
// reset init
this.editor.children = [
{
type: 'p',
children: [{ text: '' }]
}]
}
}
可以参考下:
// vue2 import { SlateTransforms } from '@wangeditor/editor' methods: { onCreated (editor) { this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错 this.slateTransforms = SlateTransforms }, resetHtml () { // 使用原生slate.js删除内容 this.editor.children.map(item => { this.slateTransforms.delete(editor, { at: [0] }) }) // reset init this.editor.children = [ { type: 'p', children: [{ text: '' }] }] } }
上述方法
this.editor.children = [
{
type: 'p',
children: [{ text: '' }]
}
]
会导致编辑器空白(placeholder也消失了),执行getHtml()方法得到的字符串为<div></div>,后来改为type: 'paragraph'正常
可以参考下:
// vue2 import { SlateTransforms } from '@wangeditor/editor' methods: { onCreated (editor) { this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错 this.slateTransforms = SlateTransforms }, resetHtml () { // 使用原生slate.js删除内容 this.editor.children.map(item => { this.slateTransforms.delete(editor, { at: [0] }) }) // reset init this.editor.children = [ { type: 'p', children: [{ text: '' }] }] } }
清空了需要重新赋值后还是有问题,有办法不老哥