对表的数据进行过滤,但是过滤器拿不到值?

对表的数据进行过滤,但是过滤器拿不到值

该数据为后面渲染出来的,不是一开始就加载到页面的

<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,");
    }

然后就好啦