对表的数据进行过滤,但是过滤器拿不到值
该数据为后面渲染出来的,不是一开始就加载到页面的
<el-table-column align="center" prop="ballotMoney" label="金额">
{{props.row.money | NumberFilter}}
</el-table-column>
Vue.filter('NumberFilter', function (value) {
console.log('之前' + value);
if (!value) return ' '
var intPart = Number(value).toFixed(0) // 获取整数部分
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
//console.log('之后' + intPartFormat);
return intPartFormat
}
value值拿不到,过滤器没有效果
把filter放到computed里面,这样每次变化的时候都可以进行过滤处理
https://stackoverflow.com/a/47774277/1337961
楼上的答案是可以解决的,我这里贴上我自己的解决方法。
<el-table-column
header-align="center"
align="right"
prop="ballotMoney"
label="中签金额"
min-width="180px"
:formatter="formatterNum" //通过formatter属性
></el-table-column>
在methods里写这个
// 格式化金额的封装函数
formatterNum(row, column, value) {
if (!value) return "0.00";
return value.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
}
然后就好啦