生成VNode对象

需求:使用vxe-table替换antd表格,实现表格拖拽功能。

问题:文档上一个函数返回了一个数组,里面是HTML代码。第一次遇见这种格式。就这样吧能运行就好。然后写完DEMO在向项目中移植的时候发现报错。

tableColumn: [
  {
     width: 60,
     slots: {
       default: () => {
         return [
           <span class="drag-btn">
              <i class="vxe-icon--menu"></i>
           </span>
         ]
     },
     header: () => {
       return [
         <vxe-tooltip content="按住后可以上下拖动排序!">
            <i class="vxe-icon--question"></i>
         </vxe-tooltip>
       ]
     }
  }
]

解决方案:查看文档需要返回一个String或者VNode[]

 

slots: {
   default: () => {
     let vm = new Vue();
     let h = vm.$createElement;
     let spanObj = h('span', {
       attrs: {
         class: 'drag-btn'
       }
     }, ['', h('i', {
        attrs: {
           class: 'vxe-icon--menu'
        }
     }, '')])
    }
}

参考文章:资料1、Vue中VNode对象创建方法

                  资料2、Vue里createElement 参数详解

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值