问题描述
在根据官方文档使用@change
方法监听下拉列表数据变化时,会出现change事件先于v-model触发,导致数据更新不及时。
原因分析:
组件自身问题
解决方案:
(1)在监听@change方法时手动赋值
v-model绑定的数据,不过v-model好像就没什么意义了
<uni-data-select v-model="aryIndex3" :localdata="seleAry3" @change="rentChange" :clear="false"
placeholder="请选择"></uni-data-select>
const rentChange = (e: any) => {
aryIndex3.value = e;
seleAry3.forEach((item) => {
if (item.value === aryIndex3.value) {
aryText3.value = item.text;
}
});
};
(2)不要在@change中进行数据处理,在点击提交或者发布按钮(自己的下一步操作)时进行数据处理操作
(3)见别的博客说可以这样解决:
放弃原有@change()
监听接口,直接使用另一个方法@input
监听
不过我尝试的跟@change一样的效果,大家可以尝试一下,可以的话请留言告知,谢谢!