vue3对antdesign中多行表格的数据进行计算、合并展示


使用情景:

vue3中对antdesign表格中的不同列进行属性计算。利用customRender的属性


一、Template

  <a-table :dataSource="portData" :columns="portColumns" :row-key="(record, index) => index" :pagination="pagination">
    <template v-for="col in ['admin_state', 'status', 'force_on']" 
        #[col]="{ record }"> {{ stateTrans(record[col]) }}
    </template>
        <template #action="{ record }">
          <a @click="handleClick(record, 'detail')">{{ t('app.sys.detail') }}</a>
        </template>
  </a-table>

二、JS

const portColumns = [
  {
    key: 'admin_state', fixed: 'left', title: t('app.poe.admin_state'),
    dataIndex: 'admin_state',
    customRender: function (text, record, index)
    {
      if (text.record.admin_state || text.record.force_on) {
        if (text.record.force_on === true) return 'Force_on'
        else return 'Enable'
      } else {
        return 'Disabled'
      }
    },
  },
]

三、效果

  • 即在拿到数据时,渲染之前,对每条数据中需要操作的属性进行值得运算,得到需要的结果。
  • 对每条数据中的admin_state和force_on属性进行运算,返回值作为dmin_state的列的值。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Ant Design Vue 4.x 表格的单元格合并可以通过配置 `customRender` 和 `customCell` 方法实现。具体步骤如下: 1. 在表格列的配置项,使用 `customRender` 方法自定义表格内容,并在需要合并单元格的单元格使用 `customCell` 方法返回一个包含 `rowspan` 和 `colspan` 属性的对象,指定单元格合并数和列数。 ```js <template> <a-table :columns="columns" :data-source="dataSource" /> </template> <script> export default { name: 'MyTable', data() { return { columns: [ { title: '姓名', dataIndex: 'name', customRender: ({ text, record, index }) => { if (index === 0) { // 只在第一显示姓名 return { children: text, customCell: () => ({ rowspan: 2, colspan: 1 }) } } else { // 其他不显示姓名 return { children: '', customCell: () => ({ rowspan: 0, colspan: 0 }) } } } }, { title: '年龄', dataIndex: 'age' }, { title: '地址', dataIndex: 'address' } ], dataSource: [ { name: '张三', age: 25, address: '北京市海淀区' }, { name: '', age: 30, address: '上海市浦东新区' }, { name: '李四', age: 35, address: '广州市天河区' }, { name: '', age: 40, address: '深圳市南山区' }, ] } } } </script> ``` 在上面的例子,通过 `customRender` 方法自定义了表格第一列的内容,并在第一的单元格使用 `customCell` 方法返回一个包含 `rowspan: 2` 和 `colspan: 1` 的对象,指定单元格合并数和列数。 2. 在需要合并单元格的单元格,使用 `customCell` 方法返回一个包含 `rowspan` 和 `colspan` 属性的对象,指定单元格合并数和列数。在其他单元格,使用 `customCell` 方法返回一个包含 `rowspan: 0` 和 `colspan: 0` 的对象,将这些单元格隐藏起来。 通过上述方法,即可在 Ant Design Vue表格实现单元格合并并自定义合并后的单元格内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值