wangEditor
wangEditor copied to clipboard
设置了 maxLength 后,复制粘贴行内文本会导致换行
bug 描述
设置了 maxLength 后,复制一行中的一小段文字(或者单个字母),粘贴后会导致莫名其妙的换行。
你预期的样子是?
如果复制的是行内文字,粘贴的时候会正常粘贴成行内文字
系统和浏览器及版本号
- 操作系统 Win 10
- 浏览器和版本 Chrome 100
wangEditor 版本
最小版本
demo 能否复现该 bug ?
能
在线 demo
官网demo就行: https://www.wangeditor.com/demo/max-length.html
最小成本的复现步骤
(请告诉我们,如何最快的复现该 bug)
- 步骤一 选中 Len 3个字母
- 步骤二 ctrl-c
- 步骤三 ctrl-v
可以看见文字变成了 3 行
还有这几个 https://github.com/wangeditor-team/wangEditor/issues/4089 https://github.com/wangeditor-team/wangEditor/issues/4294 https://github.com/wangeditor-team/wangEditor/issues/4452 https://github.com/wangeditor-team/wangEditor/issues/4476
该问题目前不太好解决。
在配置有 maxLength 时,需要挨个插入 node ,每次都会判断是否超出 maxLength 。
// 处理 fragment
e.insertFragment = (fragment: Node[]) => {
const { maxLength } = e.getConfig()
if (!maxLength) {
// 无 maxLength
insertFragment(fragment)
return
}
// 有 maxLength ,则分别插入 node
fragment.forEach(n => {
e.insertNode(n) //【注意】这里必须使用 `e.insertNode` ,而不是 insertNode
})
}
先待定吧
我在使用 editor.dangerouslyInsertHtml
时也遇到这个问题,
目前是这样解决的:
editor.dangerouslyInsertHtml('<p>1</p><p>1</p>')
EditorCore.SlateTransforms.removeNodes(editor, { at: [0] });
目前有解决办法吗
解决了吗,这个问题
解决了吗,这个问题
正在结局
遇到同样问题,设置maxLength后,复制粘贴会新增p标签,导致换行。
vue3 设置maxLength后 粘贴同样换行 请问解决了吗这个问题?
已修复,更新 @wangeditor/editor
最新版本试试
已修复,更新
@wangeditor/editor
最新版本试试
你好,我在最新的版本v5.1.23的版本上也遇到这个问题,请问修复了吗?如果修复了的话,我应该升级到哪个版本上呢?
已修复,更新
@wangeditor/editor
最新版本试试你好,我在最新的版本v5.1.23的版本上也遇到这个问题,请问修复了吗?如果修复了的话,我应该升级到哪个版本上呢?
你遇到的可能是另一个bug,粘贴的外部 text 走的逻辑在这个 fix pr 里没有覆盖到,我提了一个pr,但是短期应该不会更新,紧急的话可以根据我的pr自己打包一份 #5831
已修复,更新
@wangeditor/editor
最新版本试试你好,我在最新的版本v5.1.23的版本上也遇到这个问题,请问修复了吗?如果修复了的话,我应该升级到哪个版本上呢?
你遇到的可能是另一个bug,粘贴的外部 text 走的逻辑在这个 fix pr 里没有覆盖到,我提了一个pr,但是短期应该不会更新,紧急的话可以根据我的pr自己打包一份 #5831
我遇到的问题和这里issue描述一样,官网的maxLength的demo可复现,复现路径:输入一行文字,换行,再输入一行文字,全选复制,黏贴,