computed vue 不 触发_vue computed,对象里的一个数组属性变了,不会执行

如题,合计后面的字段是computed里的receivableItemCnyTotal,现在我detail.receivableList里的invoiceAmountCny 改变了,但是computed不执行是怎么回事

computed: {

receivableItemCnyTotal () {

let total = 0

if (!this.detail.receivableList || this.detail.receivableList.length === 0) {

return 0

}

this.detail.receivableList.forEach(item => {

if (item.invoiceAmountCny) {

total += item.invoiceAmountCny

}

})

return total

}

},

receivableItemColumns: [{

title: '业务编号',

key: 'businessNo'

}, {

title: '费用名',

key: 'feeItemName'

}, {

title: '委托人',

key: 'receiveFromName'

}, {

title: '币别',

key: 'currency'

}, {

title: '总金额',

key: 'amount'

}, {

title: '汇率',

key: 'exchangeRate',

render: (h, params) => {

let found = _this.exchangeRateTemp.find(element => {

return element.currency === _this.detail.receivableList[params.index].currency

})

if (found) {

_this.detail.receivableList[params.index].exchangeRate = found.exchangeRate

return h('span', found.exchangeRate)

}

return h('span', '')

}

}, {

title: '未开票金额',

key: 'notInvoicedAmount',

render: (h, params) => {

let invoicedAmount = 0

if (_this.detail.receivableList[params.index].invoiceAmount) {

invoicedAmount = _this.detail.receivableList[params.index].invoiceAmount

}

let notInvoicedAmount = params.row.amount - invoicedAmount - params.row.otherInvoicedAmount

return h('span', notInvoicedAmount)

}

}, {

title: '当前开票金额',

key: 'invoiceAmount',

render: (h, params) => {

return h('div', [

h('InputNumber', {

props: {

size: 'small',

value: params.row.invoiceAmount,

min: 0,

max: params.row.amount - params.row.otherInvoicedAmount,

},

on: {

'on-change': e => {// eslint-disable-line

_this.detail.receivableList[params.index].invoiceAmount = e

},

},

}),

])

},

}, {

title: '当前开票金额(¥)',

key: 'invoiceAmountCny',

render: (h, params) => {

let invoicedAmount = 0

if (_this.detail.receivableList[params.index].invoiceAmount) {

invoicedAmount = _this.detail.receivableList[params.index].invoiceAmount

}

let invoiceAmountCny = invoicedAmount * _this.detail.receivableList[params.index].exchangeRate

_this.detail.receivableList[params.index].invoiceAmountCny = invoiceAmountCny

return h('span', invoiceAmountCny)

},

}, {

title: '税率',

key: 'taxRate'

}, {

title: '税额(¥)',

key: 'taxAmount'

}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值