这是数据
a: [
{
name: "张三",
data: {
money: "10000000",
},
},
{
name: "李四",
data: {
money: "220000000",
},
},
],
这是表格结构
<el-table
:data="a"
border
:header-cell-style="{
background: '#f5f5f5',
'font-weight': 500,
color: '#666',
padding: '12 5px',
}"
style="width: 100%"
key="table1"
>
<el-table-column prop="data.money" label="票金额" align="center">
</el-table-column>
</el-table>
这是我做的处理 log的值 是我需要的数据
想将money字段的数据 做成 千位数3位数保留两位的 数据并且展示在 table中
这个方法是将字符串数字 做成千位数的处理
this.a.map(function (item) {
let abc = (parseFloat(item.data.money).toFixed(2) + "").replace(
/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,
"$1,"
);
console.log(abc);
console.log(item.data.money);
});
现在的问题就是 我做了处理之后 打印出来的abc 是我想要的数据 但是我要怎么样才能让这个abc 显示到我的表格里面呢 因为表格是绑定的a数组里面的数据 这个abc是做了处理之后才显示的东西 map还有个return返回的值 这个return是要怎么用呢 不是很清楚 我现在就是想要这个abc的结果 显示在我的table上面 但是又不想失去table的绑定效果
用 自定义 单元格内容啊 ,slot。官网有例子 哦
可能可以建多一个空数组?然后把我需要做的数据进行处理 然后把处理过的整个数据给放到新的空数组里面 然后表格绑定这个新的空数组? 还有没有更加简单的方法呢
formatter 属性 用来处理字段格式
<el-table-column align="center" prop="data.money" :formatter="moneyFunction" ></el-table-column>
moneyFunction(row, column, cellValue, index){
return cellValue/100
},
this.billcheck.map(function (item) {
item.data.OUTMSGBODY.LIST.ROWS.stdpmmoney = (
parseFloat(item.data.OUTMSGBODY.LIST.ROWS.stdpmmoney).toFixed(2) + ""
).replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, "$1,");
return item.data.OUTMSGBODY.LIST.ROWS.stdpmmoney;
});
总结:对于return的定义 不清楚 自己写的map方法遍历数组对数组 内的数据来做操作 之前不知道return的含义 只会console log看值 导致了 表格中的值一直没有获取到 返回的这个数据 实际上做完操作只会要return值 然后才能用到处理完的值