<view style="text-align: center;margin-top: 10rpx;"> <view style=" color: red; font-size: 36rpx;font-weight:bold;">总价:</view> <input style=" color: red; font-size: 36rpx;font-weight:bold;" disabled="boolean" name='totalPrice' bindinput="totalPriceInputed" model:value="{{(wxs.getMetalPrices(totalcaltor,ptcaltor,discountcaltor,prices.pt) + wxs.getMetalPrices(totalcaltor,pdcaltor,discountcaltor,prices.pd) + wxs.getMetalPrices(totalcaltor,rhcaltor,discountcaltor,prices.rh) )/10}}"></input> </view>这段代码中bindinput="totalPriceInputed"不能在model:value改变时触发,请问这是为什么?
时间: 2024-03-26 07:34:13 浏览: 105
circle-percent:微信小程序进度盘组件
`bindinput`事件是在用户输入时触发的,而`model:value`是在数据发生变化时才会触发的。所以,当用户在输入框中输入时,`bindinput`事件会被触发,但是当`model:value`发生变化时,`bindinput`事件并不会被触发。
如果想要在`model:value`发生变化时触发事件,应该使用`bindchange`事件。`bindchange`事件会在数据发生变化并且输入框失去焦点时触发。所以,可以将代码中的`bindinput`修改为`bindchange`,这样当`model:value`的值发生变化并且输入框失去焦点时,就会触发`totalPriceInputed`函数。修改后的代码如下:
```
<view style="text-align: center; margin-top: 10rpx;">
<view style="color: red; font-size: 36rpx; font-weight: bold;">总价:</view>
<input style="color: red; font-size: 36rpx; font-weight: bold;" disabled="{{false}}" name="totalPrice" bindchange="totalPriceInputed" model:value="{{(wxs.getMetalPrices(totalcaltor, ptcaltor, discountcaltor, prices.pt) + wxs.getMetalPrices(totalcaltor, pdcaltor, discountcaltor, prices.pd) + wxs.getMetalPrices(totalcaltor, rhcaltor, discountcaltor, prices.rh)) / 10}}"></input>
</view>
```
阅读全文