iview和element表格单元格渲染html

实现:将富文本编辑器tinymce带html标签的字符串内容显示在表格单元格内

自己在用iview做一个内部管理系统时用到到了富文本编辑器tinymce,一般富文本编辑器最终的内容都是带html标签的字符串,然后存入数据库,前端再显示,如果在一般组件或块内显示这种带html格式的文本,可以直接用Vue的指令v-html即可,但是iview的table组件API中显示列的数据的话要么纯文本,要么用Render渲染特殊的文本,例如像官方例子中的按钮:


但是像下图中tinymce中生成的带html结构的文本如何渲染?

编辑器中的内容:


实际生成的html结构的内容:


肯定不能用v-html,千万别想着用该指令去渲染,切记:在Vue的Render函数中本身不存在指令不指令的。 

那么该如何实现?用html的innerHtml属性,方法如下:

用createElement函数第二个参数数据对象中的domProps属性!

createElement函数以及Render渲染详细知识见我另外一篇文章Vue原理之虚拟DOM和render函数


通过上面的方法渲染后的结果如下:


达到要求!

ps: 对于将tinymce封装为vue组件有问题的童鞋可以给我留言,我也遇到了不少坑。


转载于:https://juejin.im/post/5cd99f11e51d456cec195f17

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值