从接口拿到 json字符串数据(格式为[{"unitId":"xxx","unitName":"xxx"}]),要循环渲染其中的 unitName 并且用英文逗号隔开。
效果图如下:
解决思路:因为在HTML结构中渲染会很麻烦,所以我们在拿到数据的时候就处理,然后渲染。
代码如下:
// 获取数据 getList() { getMaterialList(this.listQuery) //接口 .then((response) => { this.list = response.data.list.map((v) => { //利用map循环出数据 let units = []; //先创建一个空数组 units=[] JSON.parse(v.reportTarget).map((i) => { //reportTarget将数据变为JS对象然后遍历 units.push(i.unitName); //将reportTarget中的unitName拿出存到 units中 }); return { //替代下两行 ...v, //把v中所有数据都拿出来 units: units.join(","), //返回 units,数据用英文逗号隔开 }; }); this.total = response.data.total; this.listLoading = false; }) .catch((err) => { console.log(err); this.listLoading = false; }); }, //渲染数据 <el-table-column prop="units" label="上报对象" />
复制