组件封装文件: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) {
// 根据需求在这里处理数据或者逻辑
},