Antd for Vue 的 Table 组件还是很方便的,今天就记录一下,如何让在一列中展示多个参数。
HTML部分代码:
<a-table :columns="levelColumns" :data-source="levelData" :pagination="false" bordered>
<img class="level-icon" slot="icon" slot-scope="icon" :src="icon" alt="">
<span class="level-assess" slot="assessScoreLower" slot-scope="text,record">
{{record.assessScoreLower}}-{{record.assessScoreUpper}}万
</span>
</a-table>
数据部分:
data() {
return {
levelColumns:[{
title: '等级',
dataIndex: 'icon',
key: 'icon',
width: '16.7%',
scopedSlots: { customRender: 'icon' },
},
{
title: '区间',
dataIndex: 'assessScoreLower',
key: 'assessScoreLower',
width: '36.7%',
scopedSlots: { customRender: 'assessScoreLower' },
},
{
title: '权益',
dataIndex: 'levelDesc',
key: 'levelDesc',
},],
levelData:[],
}
},
几个属性说明:
columns
配置描述,也就是表头信息。
title
表头显示内容。
dataIndex
列数据在数据项中对应的 key,支持 a.b.c 的嵌套写法。
key
Vue 需要的 key,如果已经设置了唯一的 dataIndex,可以忽略这个属性。
scopedSlots
使用 columns 时,可以通过该属性配置支持 slot-scope
的属性,如 scopedSlots: { customRender: 'XXX'}