antdv组件table操作表头以及操作数据时,调用的参数区别

在实际开发需求里面,有个很常见的需求,就是需要自定义 表格的操作单元格,要求有的数据需要显示删除,有的数据需要显示修改,或者每一条数据都有一个公共的操作按钮

  1. 对于表格的每一列,可以使用 obj.column 来获取列的信息,例如 obj.column.title 可以获取列标题。
  2. 对于每一行的数据,你可以使用 obj.record 来获取行数据的信息。

例如如下情况

这里每一条数据都有连通测试按钮,然后根据每条数据的不同状态,有的数据有停用,有的数据有编辑 删除。

那么如何实现?

 <!-- 这是template里面的代码 -->
  <a-table
    :columns="columns"
    :dataSource="dataSource"
    :pagination="pagination"
    @change="handleChanger"
  >
    <template #bodyCell="obj">
      <!-- 表头的配置信息 -->
      <!-- <div>{{ obj.column }}</div> -->
      <!-- obj.column.dataIndex 表头配置项的dataIndex的值-->
      <!-- <div>{{ obj.record.dataIndex.datasourceStatus }}</div> -->
      <!-- <div>{{ obj.record.datasourceStatus }}</div> -->
      <!-- 如果是对表头设置用 column 如果是对数据的操作 应该用record -->
      <div v-if="obj.column.dataIndex === 'methods'">
        <!-- 气泡框 -->
        <a-popconfirm
          title="确定要连接测试吗"
          ok-text="确定"
          cancel-text="取消"
          @confirm="confirm"
          @cancel="cancel"
        >
          <a-button type="primary" style="margin-right: 8px">连通测试</a-button>
        </a-popconfirm>
        <!-- 如果状态为123 会对应不同显示的methods的按钮 -->

        <a-space>
          <a-button
            type="primary"
            v-if="obj.record.datasourceStatus === 0 || obj.record.datasourceStatus === 2"
            >发布</a-button
          >
          <a-button
            type="primary"
            v-if="obj.record.datasourceStatus === 0 || obj.record.datasourceStatus === 2"
            >编辑</a-button
          >
          <a-button type="primary" v-if="obj.record.datasourceStatus === 0">删除</a-button>
          <a-button type="primary" v-if="obj.record.datasourceStatus === 1">停用</a-button>
        </a-space>
      </div>

script里面的代码

// 这是script里面的代码
//配置表格头部
const columns = [
  {
    dataIndex: 'datasourceName',
    title: '数据源名称'
  },
  {
    dataIndex: 'databaseType',
    title: '数据库类型'
  },
  {
    dataIndex: 'datasourceDescription',
    title: '数据源描述'
  },
  {
    dataIndex: 'connectionInfo',
    title: '连接信息'
  },
  {
    dataIndex: 'datasourceStatus',
    title: '应用状态'
  },
  {
    dataIndex: 'updateTime',
    title: '更新时间'
  },
  {
    dataIndex: 'methods',
    title: '操作'
  }
]
//初始化表格内容
const dataSource = ref()
// 便于调用表单自带的重置方法
const formRef = ref()
// 0未发布 1 已发布 2 已停用
// 0未发布 有连通测试 发布 编辑 删除
//1已发布  有连通测试 停用
//2已停用  有连通测试 发布 编辑
dataSource.value = [
  {
    datasourceName: 'mysql',
    databaseType: 'databaseType',
    datasourceDescription: '数据库',
    connectionInfo: 'mysql://',
    datasourceStatus: 1,
    updateTime: '2013-11-11'
  },
  {
    datasourceName: 'mysql',
    databaseType: 'databaseType',
    datasourceDescription: '数据库',
    connectionInfo: 'mysql://',
    datasourceStatus: 0,
    updateTime: '2013-11-11'
  },
  {
    datasourceName: 'mysql',
    databaseType: 'databaseType',
    datasourceDescription: '数据库',
    connectionInfo: 'mysql://',
    datasourceStatus: 2,
    updateTime: '2013-11-11'
  }
]

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值