wangEditor富文本实现自定义插入数据(手把手)

本文手把手教你如何在vue2项目中,利用wangEditor版本5.1.23和editor-for-vue版本1.0.2实现自定义插入数据。通过创建五个关键文件:index.js、elem-to-html.js、parse-elem-html.js、plugin.js和render-elem.js,重写插入元素方法,使编辑器能够识别并解析自定义的HTML内容。在实际应用中,可以通过template、script部分调用自定义插入方法,效果显著。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插件版本如下:

vue2版本
“@wangeditor/editor”: “^5.1.23”,
“@wangeditor/editor-for-vue”: “^1.0.2”,

文件截图如下:
在这里插入图片描述

一、plugins/index.js 入口文件,整合模块导出外部使用

import withMention from './plugin'
import renderElemConf from './render-elem'
import elemToHtmlConf from './elem-to-html'
import parseHtmlConf from './parse-elem-html'

const module = {
   
  editorPlugin: withMention,
  renderElems: [renderElemConf],
  elemsToHtml: [elemToHtmlConf],
  parseElemsHtml: [parseHtmlConf]
}

export default module

二、plugins/elem-to-html.js 将内容转化成html标签


// 生成 html 的函数
function mentionToHtml (elem, childrenHtml) {
   
  const {
    value = '', varId = '', varName = '', isNotNull = '' } = elem
  return `<span data-w-e-type="mention" data-w-e-is-void data-w-e-is-inline data-content-var="1" data-is-not-null="${
     isNotNull}" data-var-name="${
     varName}" data-var-id="${
     varId}" data-value="${
     value}">${
     value}</span>`
}

// 配置
const conf = {
   
  type: 'mention', // 节点 type ,重要!!!
  elemToHtml: mentionToHtml
}

export default conf

三、plugins/parse-elem-html.js 将刚才转化的html标签 自定义解析html,编辑器才可以识别到我自定义的html是什么内容



function parseHtml(
  elem,
  children,
  editor
) {
   

  const value = elem.getAttribute('data-value') || ''
  const varId = elem.getAttribute(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值