有ABC父子孙三个组件
1.v-bind属性$attr,保证C组件能够获取到A组件传递下来的props(除props属性中声明的属性以外);
2.而v-bind属性$listeners,则保证C组件能直接调用A组件的方法。
<el-table-column v-for="(item,index) in columnData" :key="index"
v-bind='item.attr' v-on='item.listeners' min-width="120"
show-overflow-tooltip align="center">
</el-table-column>
columnData: [{
attr: {
label: '项目名称',
prop: 'xmmc'
}
},
{
attr: {
label: '项目位置',
prop: 'zmwz'
}
},
{
attr: {
label: '占地总面积',
prop: 'zdzmj'
}
},
{
attr: {
label: '是否违建别墅',
prop: 'sfwt',
formatter: (val) => {
return val.sfwt == 1 ? '是' : val.sfwt == 0 ? '否' : ''
}
}
},
{
attr: {
label: '提交状态',
prop: 'sftj'
}
}
],