动静表头的写法有很多种,前端要依据后端返回的数据格式来进行调整。明天给大家展现一种只有值,没有属性的写法

<el-table max-height="600" border :data="bodyData">   <el-table-column  v-for="(item,index) in Header" :label="item" :key="index" show-overflow-tooltip align="center"         :min-width="index === 0 ? '120' : ''" :fixed="index === 0" v-if="Header.length && Header.length>0">        <template slot-scope="scope">              <el-input v-if="bodyData[scope.$index].Row[index] && JSON.stringify(bodyData[scope.$index].Row[index]).indexOf('{')>-1"                 v-model="bodyData[scope.$index].Row[index].Reason" @blur="saveData(bodyData[scope.$index].Row[index])"></el-input>              <span v-else>{{bodyData[scope.$index].Row[index]}}</span>        </template>    </el-table-column></el-table>
export default {    props: ['projectId'],    data(){        return {          Header: [],          bodyData:[],        }    },    methods:{      saveData(val){        val.projectId=this.projectId;        this.$put(`/api/plat/projects/indicDiffReason`,val, function (res) {          Vue.successMsg("保留胜利!");        })      },      getTableData () {        this.bodyData = []        this.Header=res.Table.Header        this.bodyData=res.Table.Rows.map(item=>{          item.Row=item.Row.map(ele=>{          //这里因为后端返回的是JSON数据格式,展现的时候咱们要取出对象外面的数据            if(ele && ele.indexOf('{')>-1){              ele=JSON.parse(ele)            }            return ele          })          return item        })      },    },  }
var res={    "Data": {        "Table": {            "Header": [                "指标",                "可研版",                "定位版",                "差值",                "偏差起因",                "考核版",                "差值",                "偏差起因",                "报规版",                "差值",                "偏差起因",                "预测绘版",                "差值",                "偏差起因",                "实测绘版",                "差值",                "偏差起因"            ],            "Rows": [                {                    "Row": [                        "修建基底面积",                        null,                        null,                        null,                        "{\"IndicatorId\":\"BUILDING_AREA\",\"Reason\":null,\"Phase\":\"2\"}",                        null,                        null,                        "{\"IndicatorId\":\"BUILDING_AREA\",\"Reason\":null,\"Phase\":\"3\"}",                        null,                        null,                        "{\"IndicatorId\":\"BUILDING_AREA\",\"Reason\":null,\"Phase\":\"4\"}",                        null,                        null,                        "{\"IndicatorId\":\"BUILDING_AREA\",\"Reason\":null,\"Phase\":\"5\"}",                        null,                        null,                        "{\"IndicatorId\":\"BUILDING_AREA\",\"Reason\":null,\"Phase\":\"6\"}"                    ]                },                {                    "Row": [                        "修建密度",                        null,                        null,                        null,                        "{\"IndicatorId\":\"CON_DENSITY\",\"Reason\":null,\"Phase\":\"2\"}",                        null,                        null,                        "{\"IndicatorId\":\"CON_DENSITY\",\"Reason\":null,\"Phase\":\"3\"}",                        null,                        null,                        "{\"IndicatorId\":\"CON_DENSITY\",\"Reason\":null,\"Phase\":\"4\"}",                        null,                        null,                        "{\"IndicatorId\":\"CON_DENSITY\",\"Reason\":null,\"Phase\":\"5\"}",                        null,                        null,                        "{\"IndicatorId\":\"CON_DENSITY\",\"Reason\":null,\"Phase\":\"6\"}"                    ]                }            ]        }    },    "Code": 0,    "Message": "获取数据胜利"}