您的位置:首页 > 文旅 > 旅游 > el-table简洁之道

el-table简洁之道

2025/1/15 12:59:55 来源:https://blog.csdn.net/yan1915766026/article/details/141256029  浏览:    关键词:el-table简洁之道

说明

环境:vue2 + elementui2.15.14
正常写el-table时,像官方示例一样:

<template><el-table :data="tableData" style="width: 100%"><el-table-column prop="date" label="日期"></el-table-column><el-table-column prop="name" label="姓名"></el-table-column><el-table-column prop="address" label="地址"></el-table-column></el-table>
</template>
<script>
export default {data() {return {tableData: [{date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'}, {date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'}, {date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'}, {date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}]}}
}
</script>

那么,如果tableData中再有一个data字段,且data字段里又包含其他字段需要展示呢,像下面这样:

{date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄',data: {sex: '雄性',age: 18,money: '100万',}}

新增加的这几个字段,你是这样写的吗

 <el-table-column label="性别"><template v-slot="scope">{{ scope.row.data.sex }}</template></el-table-column><el-table-column label="年龄"><template v-slot="scope">{{ scope.row.data.age }}</template></el-table-column><el-table-column label="财富"><template v-slot="scope">{{ scope.row.data.money }}</template></el-table-column>

这样写有2个弊端

  • 不够简洁
  • 如果哪条数据没有data这个字段,那么会报错

建议写法如下

<el-table-column prop="data.sex" label="性别"/>
<el-table-column prop="data.age" label="年龄"/>
<el-table-column prop="data.money" label="财富"/>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com