首页 资源列表 文章列表

uniapp input @input值变化,页面数据没有变化的坑的解决方案

目前在做一个购物车功能

手动填写购买数量,要求填写数字大于库存时候,输入框内容为库存数据

数据实际变了,但前端Input展示的数据没有及时变化

解决方案 uniapp  vue3  用的是setup

前端代码

<view class="num_input_view"><input ref="numInput" class="num_input" type="number" v-model="item.num" @input="inputCart(index)" /></view>


JS代码

<script setup>

function inputCart(index){

let id = cart_list.value[index].id

let num = parseInt(cart_list.value[index].num)

let stock = parseInt(cart_list.value[index].total_stock)

if(num >= stock){

setTimeout(() => { cart_list.value[index].num = stock }, 0)

uni.showToast({

title: "数量大于库存",

icon: 'error',

duration: 2000

});

}

}


使用了setTimeout(() => { cart_list.value[index].num = stock }, 0)