笔记:iview-UI Table 自定义显示

场景:刚刚接到需求,table编辑区域根据不同数据的属性 编辑区域的内容是不一样的 ,这样就和传统的编辑写法不一样了。

如图:

 PS:每一行根据数据不同显示不同的操作内容。

代码👇:注意主要看👉👈

<script>
   export default {
  components: {
    editChannel,
    editDevice,
    lantset,
    openCloudStorage,
  },
  data() {
    return {
        columns:[
             {
          title: "操作",
          align: "center",
          width: 300,
          key: "handle",
          render: (h, params) => {
             //👉这里可以写判断逻辑 根据params可以获取当前行的数据👈
            return h("div", [
              params.row.dtype == 3
                ? h(
                    "Button",
                    {
                      props: {
                        // code: "cscp.user.edit",
                        type: "default",
                        size: "small",
                      },
                      style: {
                        marginRight: "5px",
                      },
                      on: {
                        click: () => {
                          this.$router.push({
                            name: "channelWatch",
                            params: { id: params.row.id },
                          });
                        },
                      },
                    },
                    "查看"
                  )
                : h(
                    "Button",
                    {
                      props: {
                        // code: "cscp.user.edit",
                        type: "primary",
                        size: "small",
                      },
                      style: {
                        marginRight: "5px",
                      },
                      on: {
                        click: () => {
                          this.$router.push({
                            name: "deviceWatch",
                            params: {
                              id: params.row.id,
                              domainid: params.row.domainid,
                            },
                          });
                        },
                      },
                    },
                    "查看"
                  ),
              params.row.dtype == 3
                ? h(
                    "Button",
                    {
                      props: {
                        // code: "cscp.user.edit",
                        type: "default",
                        size: "small",
                      },
                      style: {
                        marginRight: "5px",
                      },
                      on: {
                        click: () => {
                          this.aditeChannelOpen = true;
                          this.id = String(params.row.id);
                          this.platformname = params.row.platformname;
                        },
                      },
                    },
                    "编辑"
                  )
                : h(
                    "Button",
                    {
                      props: {
                        // code: "cscp.user.edit",
                        type: "primary",
                        size: "small",
                      },
                      style: {
                        marginRight: "5px",
                      },
                      on: {
                        click: () => {
                          this.aditeDeviceOpen = true;
                          this.id = String(params.row.id);
                          this.platformname = params.row.platformname;
                        },
                      },
                    },
                    "编辑"
                  ),
              params.row.dtype == 3
                ? h(
                    "Button",
                    {
                      props: {
                        type: "default",
                        size: "small",
                      },
                      style: {
                        marginRight: "5px",
                      },
                      on: {
                        click: () => {
                          this.cloudData = params.row;
                          this.CloudOpen = true;
                        },
                      },
                    },
                    "******"
                  )
                : null,
              h(
                "Dropdown",
                {
                  props: {
                    transfer: true,
                    trigger: "click",
                  },
                },
                [
                  h(
                    "Button",
                    {
                      props: {
                        type: "warning",
                        size: "small",
                      },
                    },
                    "更多"
                  ),
                ]
              ),
            ]);
          },
        },

        ]
    
    }
};
</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值