ant design vue2 table 中数据status为1的北京变灰
时间: 2023-12-26 08:06:44 浏览: 57
用于设置ant-design-vue中table组件的列宽可拖拽
您可以使用 `slot-scope` 和 `render` 函数来自定义表格的列,然后在 `render` 函数中根据数据的 `status` 属性来动态设置单元格的样式。
以下是一个示例代码,假设表格数据的 `status` 属性为 `1` 时需要将单元格置灰:
```html
<template>
<a-table :columns="columns" :data-source="dataSource">
<template slot="status" slot-scope="{ text }">
<span :style="{ color: text === '1' ? '#ccc' : '' }">{{ text }}</span>
</template>
</a-table>
</template>
<script>
export default {
data() {
return {
columns: [
{
title: 'Name',
dataIndex: 'name',
},
{
title: 'Age',
dataIndex: 'age',
},
{
title: 'Status',
dataIndex: 'status',
scopedSlots: { customRender: 'status' },
},
],
dataSource: [
{
key: '1',
name: 'John Brown',
age: 32,
status: '0',
},
{
key: '2',
name: 'Jim Green',
age: 42,
status: '1',
},
{
key: '3',
name: 'Joe Black',
age: 32,
status: '0',
},
],
};
},
};
</script>
```
在这个示例中,我们使用 `scopedSlots` 来指定 `status` 列的自定义渲染函数,并在函数中动态设置单元格的样式。具体来说,在 `<template>` 中使用 `slot-scope` 来获取 `status` 列的文本值 `text`,然后根据文本值是否为 `1` 来设置单元格的颜色为灰色。
阅读全文