# TagColumn 标签列
const columns = [
{
type: "tag",
dataIndex: "tags",
// 如果字段的值是字符串,或者字符串数组,那么无需设置tags
// 如果字段的值是对象,或者对象数组,那么需要设置tags
// 传入字符串,表示属性名称,会把对象的该属性显示出来
text: "label",
// 传入函数
text: (tag) => tag.label,
// 标签的颜色
// 传入字符串,所有的标签将使用此颜色
// 传入函数,可以根据当前标签的文本,返回不同的颜色。
color: "red",
color: (tag) => {
return tag.length > 5 ? "red" : "blue";
},
},
];
# 示例
序号 | 字符串数组 | 字符串 | 对象 | 对象数组,指定属性 | 对象数组,函数用法 |
---|---|---|---|---|---|
1 | ab | Hello | a | ab | ab |
2 | cd | World | c | cd | cd |
<script>
export default {
render () {
return <erp-table
dataSource={[
{
key: 1,
tagsString: 'Hello',
tags: ['a', 'b'],
tagsObjArray: [
{ label: 'a', value: 1 },
{ label: 'b', value: 2 },
],
tagsObj: {
label: 'a',
value: 1,
},
},
{
key: 2,
tagsString: 'World',
tags: ['c', 'd'],
tagsObjArray: [
{ label: 'c', value: 3 },
{ label: 'd', value: 4 },
],
tagsObj: {
label: 'c',
value: 3,
}
},
]}
columns={[
'#',
{
type: 'tag',
dataIndex: 'tags',
title: '字符串数组',
},
{
type: 'tag',
dataIndex: 'tagsString',
title: '字符串',
},
{
type: 'tag',
dataIndex: 'tagsObj',
title: '对象',
text: 'label',
},
{
type: 'tag',
dataIndex: 'tagsObjArray',
text: 'label',
title: '对象数组,指定属性',
color: 'red',
},
{
type: 'tag',
key: 'tagsObjArrayFn',
dataIndex: 'tagsObjArray',
title: '对象数组,函数用法',
text: tag => tag.label,
color: tag => tag === 'a' ? 'red' : 'blue'
},
]}
/>
}
}
</script>