• vue + Ant Design table自定义表格、添加操作按钮并获取当前行数据,重写列


    今天搞了一下午可算搞懂了,网上我查了好多资料发现好像有点老了都

    比如这种的:

    <template slot="action" slot-scope="text,record">
            <a slot="action"  href="javascript:;" @click="onUser(record)">名称</a>
            <a slot="action"  href="javascript:;" @click="onRole(record)">权限</a>
    </template>
    <script>
     columns: [
            {
              dataIndex: "checklistName",
              key: "checklistName",
              id: "1",
              title: this.$t("table.ChecklistName"),
               160,
              fixed: "left",
              scopedSlots: { customRender: "name" },
            },]
    </script>

    slot、slot-scope、scopedSlots这几个关键的元素好像是无效的,而且我查询文档发现都没有scopedSlots这个方法了,应该是废弃了,所以可见网上好多方法都是无效的,我就是特地来解救大家的,哈哈哈!废话先说到这,我们开搞:

    正确教程

    第一步创建表格

    注意#name是创建的插槽名称,标签内放自己想展示的内容,可以放按钮,图片,任何你想放的元素(#是创建插槽,name是自己定义的插槽名称)

     <a-table :columns="columns" :data-source="data">//:columns列,描述数据对象
          <template #name="{ record }">              //:data数据
         <a-button type="primary" ghost @click="hide(record)">编辑</a-button>
          </template>
    </a-table>
     
    //record是固定写法,记住不能变,以后获取行信息用

    第二步引用数据

    注意是:columns绑定的数据里,写上slots属性,然后通过customRender绑定即可

    1 const columns = [
    2   {
    3     title: "查看",
    4     key: "查看",
    5     dataIndex: "key",
    6     align: "center",
    7     slots: { customRender: "name" },//绑定插槽
    8   },]

    第三步获取对应行的数据

    我这里用的是vue3写的,上面标签里record变量保存的就是行信息,这里就可以获取到了

    1 const hide = (e) => {
    2       console.log(e);
    3     };

    最后效果图

  • 相关阅读:
    CS224d lecture 16札记
    CS224d lecture 15札记
    CS224d lecture 14札记
    CS224d lecture 13札记
    将博客搬至CSDN
    三张图理解JavaScript原型链
    三道题理解软件流水
    网络安全密码学课程笔记
    “wuliao“(无聊)聊天软件
    大二小学期C#资产管理大作业小记
  • 原文地址:https://www.cnblogs.com/xikui/p/16013796.html
Copyright © 2020-2023  润新知