<template> <div class="app-container"> <TableExhibitionQuery :headers="headers" /> <el-row> <el-col :xs="24" :sm="24" :md="6" :lg="6" :xl="6"> <TableExhibitionHeader :headers.sync="headers" /> </el-col> <el-col :xs="24" :sm="24" :md="18" :lg="18" :xl="18"> <TableExhibitionBody :headers="headers" :list="list" /> </el-col> </el-row> </div> </template> <script> import TableExhibitionBody from "./TableExhibitionBody"; import TableExhibitionQuery from "./TableExhibitionQuery"; import TableExhibitionHeader from "./TableExhibitionHeader"; import { genTableSnippet } from "./snippetTable.js"; export default { components: { TableExhibitionBody, TableExhibitionHeader, TableExhibitionQuery, }, props: { tableData: { type: Object, default: () => { return {}; }, }, }, data() { return { list: [], code: "", headers: [], query: { limit: 20, cursor: 1, }, total: 0, }; }, watch: { tableData: { handler(val) { this.list = val.data && val.data.slice(0, 3); if (this.list) { this.headers = Object.keys(this.list[0]).map((item) => { // opt 为需要对 字段的操作,''空就不操作,'time' 处理时间,'template' 将字段放在template 里面,方便后续操作 return { value: this.list[0][item], key: item, label: item, show: true, opt: "", query: false, }; }); } }, immediate: true, }, headers: { handler(val) { this.code = genTableSnippet(val, this.getTableAPI); this.$store.dispatch("table/setTableCode", this.code); }, deep: true, }, }, created() {}, methods: { editdata() {}, test(val) {}, }, }; </script>