Ant-Design-Vue表格合并单元格,在customRender属性中添加标签和点击事件
原因是我在使用customRender属性时没有使用箭头(=>)函数,而是使用了function,从而导致this找不到。具体=>与function的this指向问题请自行百度。1、阅读大神的代码后到自己项目中使用时报错,如下。
·
问题:找不到$createElement
1、阅读大神的代码后到自己项目中使用时报错,如下
2、报错代码片段
{
title: '项目名称',
align: 'center',
dataIndex: 'proName',
scopedSlots: { customRender: 'proName' },
customRender: function(t, r, index){
const child = this.$createElement('a', {
domProps: {
innerHTML: t
},
on: {
click: function() {
this.customHandleDetail(r)
}
}
})
const obj = {
children: child,
attrs: {}
}
if (r.sortNum === '小计' || r.sortNum === '合计' || r.sortNum === '说明') {
obj.attrs.colSpan = 0
}
return obj
}
3、修改后
{
title: '项目名称',
align: 'center',
dataIndex: 'proName',
scopedSlots: { customRender: 'proName' },
customRender: (t, r, index) => {
let _this = this
const child = _this.$createElement('a', {
domProps: {
innerHTML: t
},
on: {
click: function() {
_this.customHandleDetail(r)
}
}
})
const obj = {
children: child,
attrs: {}
}
if (r.sortNum === '小计' || r.sortNum === '合计' || r.sortNum === '说明') {
obj.attrs.colSpan = 0
}
return obj
}
},
4、总结
原因是我在使用customRender属性时没有使用箭头(=>)函数,而是使用了function,从而导致this找不到。具体=>与function的this指向问题请自行百度。
更多推荐
已为社区贡献1条内容
所有评论(0)