antd vue 表格table列customRender标签标错:ReferenceError: h is not defined问题解决

在使用Antd Vue的表格组件时,如果将列(columns)配置放在外部JS文件并导入,可能会遇到`h is not defined`的ReferenceError。解决方法是确保导出的默认对象不带有参数,即`export default {}`。如果外部文件定义为`export const columns = {}`,则需通过`require('xxx').columns`来获取列配置。
摘要由CSDN通过智能技术生成

背景:

使用antd vue 的表格,列columns配置是在外部文件定义js文件,import导入, 如下,

import { columns} from './activity.js'

export default {
  data () {
    return {
        columns: columns
    }
  }
}
{
        title: '奖励道具',
        dataIndex: 'award_list',
        customRender: (list) => {
          return (
            <ul>
              {
                list.map(item => {
                  return <li>{item.item_name} * {item.item_count}</li>
                })
              }
            </ul>
          )
        },
        width: '50%'
      }

列配置包含需要动态渲染标签,然后就报错了

 如果在data(){}内直接定义columns是不会报错的,但是我的配置又必须在外部文件配置,找了网上没找到方法但是想着直接引入js在data()内应该就行,于是用下面方法就ok

export default {
  data () {
    return {
        columns: require('../xml/activity').default
    }
  }
}

default是定义的js文件没有定参数,直接export default {}

如果定义了参数export const columns = {},则取值应该是require('xxx').columns

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值