封装了table组件如何使用

210 阅读2分钟

组件封装文件:juejin.cn/spost/74296…

main.js文件

import puilceTable from "@/components/puilceTable.vue"
// 注册为全局组件
Vue.component("PuilceTable", puilceTable)
父组件引入table
<!-- 表格组件 -->
<puilceTable :corptable="corptable" @childCallbackFunc="childCallbackFunc" />
export default {
  data() {
    return {
        // 表格组件参数
      corptable: {
        // 操作按钮配置,根据后台返回的状态码,配置相应要展示的按钮
        operation: {
          1: ["dataAdmin"],
          0: ["dataAdmin", "addSonAccount"]
        },
        // 操作列的宽度
        operationWidth: 150,
        // isoperaState 配置,对应的是返回数组中,每一条数据的状态(作用是渲染动态渲染操作按钮),组建中默认是“status(可改)”,若后台中的需要特殊处理的状态,与前端沟通,在这个属性中配置即可
        isoperaState: "accountTypeAdd",
        // 全选框,特定场景用,非必要配置
        isselection: false,
        // 表格表头项,未说明的都要必填
        // field ,对应的是数据库的字段,这里写的数据必须和返回的数据的字段保持一致
        // name ,表格表头的名字
        // width ,这一列所占的最小宽度
        // type ,非必要配置,不写就是纯文字,button 是某一个单元格可点击,以后需要输入框、下拉框、或者开关等,都可在组件中添加
        header: [
          // { name: '企业编号', field: 'ecode', width: '200' },
          { name: "企业名称", field: "merchant", width: "200" },
          { name: "企业类型", field: "merClass", width: "200" },
          { name: "企业法人", field: "legaler", width: "200" },
          { name: "是否创建子账户", field: "accountTypeShow", width: "100", type: "style" },
          // { name: '工商注册号', field: 'regNumber', width: '200' },
          // { name: '成立时间', field: 'foundingTime', width: '200' },
          // { name: '优先交易权', field: 'weight', width: '200' },
          { name: "注册资本(万)", field: "regCapital", width: "100" },

          { name: "联系电话", field: "contactTel", width: "200" }
          // { name: '已认证资料', field: 'date1', width: '200' },
          // { name: '待审核资料', field: 'date2', width: '200' }
          // { name: '操作', field: 'date', width: '200', type: 'button' }
        ],
        // 列表数据
        list: [],
        // 分页 pageObj 属性,如果不需要分页,这个配置不写就行
        pageObj: { current: 1, size: 10, total: 10 }
      },
    }
   }
  }


// 表格组件回调
    childCallbackFunc(caData) {
      // 根据需求在这里处理数据或者逻辑
    },