<template>
<div class="jsBox">
<el-table :data="tableData" :border="true" style="width: 100%">
<el-table-column prop="name" label="日期" width="249"></el-table-column>
<!-- <el-table-column prop="min" label="最小数" width="249"></el-table-column> -->
<el-table-column label="日期" width="500">
<template slot-scope='scoped'>
<span style='color: red;'>我是最小数:{{scoped.row.min}}</span>
<el-table :data="scoped.row.Prices" :border="true" style="width: 100%" v-if="scoped.row.bool">
<el-table-column prop="number" label="日期" width="498"></el-table-column>
</el-table>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default{
data(){
return {
tableData:[{
name:'three',
Prices:[{number:'16'},{number:'6'},{number:'5'},{number:'16'}],
},{
name:'four',
Prices:[{number:'8'},{number:'7'},{number:'0'},{number:'0'}],
},{
name:'five',
Prices:[{number:'11'},{number:'11'},{number:'11'}],
},{
name:'five',
Prices:[{number:'1'},{number:'1'},{number:'1'}],
}]
}
},
created() {
this.render()
},
methods:{
render(){
this.tableData.forEach((item,index)=>{
//设置key:value ==> arrPrices:[],并且给push元素
item.arrPrices = []
item.Prices.forEach((items,indexs)=>{
item.arrPrices.push(items.number)
})
//给push而成的arrPrice数组进行从小排到大,去下标为0可以得到最小值
item.arrPrices.sort((a,b)=>{
return a-b
})
//数组中的最小值
item.min = item.arrPrices[0]
// 判断数组内元素是否一致
let count = 0
item.arrPrices.forEach(i=>{
if(item.arrPrices[0]===i){
count+=1
if(item.arrPrices.length === count){
item.bool = true
}else{
item.bool = false
}
}
})
})
console.log(this.tableData)
},
}
}
</script>
<style>
</style>
处理数据前后对比: 添加了arrPrices、bool、min 三个字段
- 将Prices中的namber push成 arrPrices数组,并且按小到大排序
- bool为arrPrices数组中的元素是否都一致
- min为arrPrices数组中最小值
待续。。。