美文网首页
ViewUI表格内操作按钮组件

ViewUI表格内操作按钮组件

作者: EasyNetCN | 来源:发表于2020-03-27 18:54 被阅读0次

使用ViewUI Table组件,很多时候要渲染操作按钮,如下图所示:

view-ui-table-btn.jpg

写了一个表格内组件,可以方便渲染表格内按钮和操作处理

<template>
  <div>
    <Button
      v-for="(item) in rebuildData"
      :key="item.operate"
      :type="item.type"
      :size="item.size"
      :ghost="item.ghost"
      :disabled="item.disabled"
      @click="handleClick(item.operate)"
    >{{item.text}}</Button>
  </div>
</template>
<script>
export default {
  name: "TableOperateButton",
  props: {
    data: {
      type: Array,
      default() {
        return [];
      }
    }
  },
  data() {
    return {
      rebuildData: []
    };
  },
  created() {
    this.rebuildData = this.makeData();
  },
  watch: {
    data: {
      handler() {
        this.rebuildData = this.makeData();
      },
      deep: true
    }
  },
  methods: {
    makeData() {
      return this.data
        .filter(
          el =>
            el.visible == undefined ||
            (el.visible != undefined && el.visible == true)
        )
        .map(el => {
          let obj = Object.assign({}, el);

          if (el.type == undefined) {
            obj["type"] = "success";
          }
          if (el.size == undefined) {
            obj["size"] = "small";
          }
          if (el.ghost == undefined) {
            obj["ghost"] = true;
          }
          if (el.disabled == undefined) {
            obj["disabled"] = false;
          }

          return obj;
        });
    },
    handleClick(operate) {
      this.$emit("click", operate);
    }
  }
};
</script>

使用代码片段

     columns: [
        indexColumn,
        {
          title: "ID",
          key: "id",
          width: 90,
          align: "center"
        },
        {
          title: "编码",
          key: "code",
          width: 120,
          align: "center"
        },
        {
          title: "名称",
          key: "name",
          align: "center",
          width: 120
        },
        {
          title: "描述",
          key: "description",
          ellipsis: true,
          align: "center",
          minWidth: 120
        },
        {
          title: "状态",
          key: "status",
          width: 60,
          align: "center",
          render: renderStatus
        },
        {
          title: "操作",
          key: "action",
          align: "center",
          width: 240,
          render: (h, params) => {
            let index = params.index;

            return h(TableOperateButton, {
              props: {
                data: [
                  {
                    operate: "update",
                    text: "编辑"
                  },
                  {
                    operate: "service-status",
                    text: "状态"
                  },
                  {
                    operate: "service-config",
                    text: "配置"
                  },
                  {
                    operate: "service-config-log",
                    text: "配置记录"
                  },
                  {
                    operate: "service-catalog",
                    text: "信息"
                  }
                ]
              },
              on: {
                click: operate => this.handleOperate(operate, index)
              }
            });
          }
        }
      ],

相关文章

  • ViewUI表格内操作按钮组件

    使用ViewUI Table组件,很多时候要渲染操作按钮,如下图所示: 写了一个表格内组件,可以方便渲染表格内按钮...

  • 设计观察13-表格说明汇总

    表格主要涉及搜索,批量操作按钮,表格内操作按钮,表格内容。记录下工作中遇到的对表格说明。 1.搜索的触发。搜索的触...

  • 设计观察05-设计中表格说明汇总

    表格主要涉及搜索,批量操作按钮,表格内操作按钮,表格内容。记录下工作中遇到的对表格说明。 1.搜索的触发。搜索的触...

  • vue学习笔记--d2-curd使用

    d2-curd是专门处理表格的组件,根据自己理解它可以处理表格数据 按钮等常规的操作。具体使用方法:安装插件:也可...

  • 安卓 canvas组件draw函数的回调不执行

    安卓 canvas组件draw函数的回调不执行 canvas遮挡了底部按钮,canvas在组件的组件内,按钮在页面...

  • 2021-09-10 iview tabel添加个icon图标

    iview Table组件渲染操作按钮, render 渲染icon图标更改方法问题描述: Table组件操作,i...

  • vue动态组件

    引入组件,注册组件 用component标签插入组件,用is来指向组件名称,:is来动态改变组件名称 用按钮操作组...

  • 2019-02-28随笔

    1、组件:栅格、布局、按钮、图标、面包屑、下拉菜单、导航菜单、分页、表单、日期组件、表格、树选择、文件上传、文字提...

  • LayUI组件使用-数据表格组件

    一、数据表格 数据表格组件table作为layui最核心的组件之一,可以对表格进行一些动态操作,涵盖了日常业务中的...

  • 视频页面

    一、自定义视频操作按钮 由于原video组件不方便操作,所以果断放弃使用自定义页面组件配合js操作video,同时...

网友评论

      本文标题:ViewUI表格内操作按钮组件

      本文链接:https://www.haomeiwen.com/subject/lssruhtx.html