Open meicy opened 1 year ago
function parseHtml(elem, children, editor) { // const $elem = $(elem) const dataMiniprogramAppid = elem.getAttribute('data-miniprogram-appid') // 微信小程序 children = children.filter((child) => { if (Text.isText(child)) return true if (editor.isInline(child)) return true return false })
// 无 children ,则用纯文本 if (children.length === 0) { children = [{ text: elem.innerHTML().replace(/\s+/gm, ' ') }] } if (dataMiniprogramAppid) { return { type: 'miniprogram-link', url: elem.getAttribute('href') || '', target: elem.getAttribute('target') || '', dataMiniprogramAppid: elem.getAttribute('data-miniprogram-appid') || '', dataMiniprogramPath: elem.getAttribute('data-miniprogram-path') || '', children, } } return { type: 'link', url: elem.getAttribute('href') || '', target: elem.getAttribute('target') || '', children, } }
export const parseHtmlConf = { selector: 'a', // data-w-e-type 属性,留给自定义元素,保证扩展性 parseElemHtml: parseHtml, }
问题描述
自定义了一个m-link, 插入正常,但是回显的时候发现匹配不到对应的元素
wangEditor 版本
"@wangeditor/editor": "^5.1.14",
是否查阅了文档 ?
(文档链接 www.wangeditor.com )
是
最小成本的复现步骤
(请告诉我们,如何最快的复现该问题?)
自定义一个miniprogram-link 标签。正常插入 显示正常,但是在编辑器通过Html 回显的时候出现问题。 parse-elem-html.js
export const parseHtmlConf = { selector: 'a[data-w-e-type="miniprogram-link"]', // data-w-e-type 属性,留给自定义元素,保证扩展性 parseElemHtml: parseHtml, } 这样匹配不到 export const parseHtmlConf = { selector: 'a', // data-w-e-type 属性,留给自定义元素,保证扩展性 parseElemHtml: parseHtml, } 这样可以匹配。这样匹配的话功能正常,但是要去判断正常的link。 回显的html="点击文字跳转小程序"