做一个弹窗选择器的时候遇到 picker-view 滑动进行中的问题
滑动未停止前,是不会调用 @change
value值是不支持双向绑定的
选择的值需要在 @change 回调里面去赋值
单次滑动的事件执行顺序是 pickstart change pickend
注意: change pickend 有几率在滑动结束后有延迟才回调
let isOver = true;
<picker-view
v-model.lazy="value"
@pickstart="onPickStart"
@pickend="onPickEnd"
@change="onChange">
<picker-view-column>
<p v-for="(item,index) in list" :key="index" class="p-inner-picker-view-column">{{item.name}}</p>
</picker-view-column>
</picker-view>
onPickStart({ mp }) {
// console.info(mp);
isOver = false;
},
onPickEnd({ mp }) {
isOver = true;
// console.info(mp);
},
onChange({ mp }) {
// console.info(mp);
let _data = mp.detail.value;
this.value = _data;
},