naive ui 表格 data-table 的一些自定义 用法

这篇博客记录了Naive UI中的data-table组件在前端开发中的自定义应用,包括表头和内容的居中处理,右侧操作按钮的状态动态控制,如根据人员状态禁用编辑按钮,按钮文字的变化,以及动态显示和隐藏列的功能。此外,还介绍了复选框的绑定和声明方法,如何获取选中复选框的ID,并结合分页实现表格数据的展示,详细阐述了绑定、声明及返回分页信息的过程。

记录一下 以便复用

1,表头与内容居中

<style scoped>
  :deep .n-data-table-th {
    text-align: center;
  }
  :deep .n-data-table-td {
    text-align: center;
  }
</style>

2,右侧操作,动态控制按钮状态
如:人员状态为离职时,编辑按钮禁用
按钮动态文字变化

在这里插入图片描述
在这里插入图片描述

 {
            title: "",
            width: 1,
            key: "status",
            titleColSpan: data_.user_status == 4 ? 1 : 3,//表头合并
            render(row) {
              return h(NButton, {
                size: "small",
                // color: 'blue',
                type:'info',
                disabled: row.status == '在职' ? false : true,//编辑按钮禁用,判断
                text: data_.user_status == 4 ? true : false,
                onClick: () => sendMail_2(row)
              }, {
                default: () => {
                  if (data_.user_status != 4) {
                    return '编辑'
                  } else if (data_.user_status == 4) {
                    return ''
                  }
                }
              });
            },
          },

动态显示隐藏某列
如:工作状态列的隐藏显示

 {
              // <!-- 通过条件判断,动态数据显示 -->
            title:data_.user_status==2?'工作状态':'',
             key:data_.user_status==2?'status':''
          },

4,复选框的应用

1,绑定在这里插入图片描述
2,声明
在这里插入图片描述
3,拿到选中复选框的id(return 出去)

 //在return中
             rowKey: (row) => row.id,
                 handleCheck(rowKeys) {
                   checkedRowKeysRef.value = rowKeys;
                   console.log('-=选中的复选框 id为',rowKeys);
                 },

5,分页与表格结合
1,绑定
在这里插入图片描述
2,声明

  const paginationReactive = reactive({
        page: 1,//默认在第几页
        pageSize: 5,//每页条数
        showSizePicker: true,
        pageSizes: [3, 5, 7, 10],//可切换的 每页条数
        onChange: (page) => {
          paginationReactive.page = page;
        },
        onUpdatePageSize: (pageSize) => {
          paginationReactive.pageSize = pageSize;
          paginationReactive.page = 1;
        }
      });

3,return 出去

   return {
        pagination: paginationReactive,
        }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值