uniapp vue 多个picker 用同一个数组和@change事件的bindPickerChange方法,让他们获取同一个值显示在picker时,报提示不能值一样 循环多个picker,但数组和@change事件的bindPickerChange方法都是同一个
3条回答 默认 最新
- qq_37749055 2023-09-05 10:00关注
根据你的描述,你希望多个Picker共享同一个数组,并且在选择某个值时,其他Picker也应该更新。
在Uni-app中,你可以使用
@change
事件来监听Picker的选择变化。@change
事件在选择改变后触发,你可以在这个事件中更新你的数组。以下是一个基本的示例:
<template> <view> <picker v-for="(item, index) in pickers" :key="index" :values="item.values" @change="bindPickerChange(index, $event)"> <view v-for="value in item.values" :key="value">{{ value }}</view> </picker> </view> </template> <script> export default { data() { return { pickers: [ { values: ['A', 'B', 'C'] }, { values: ['D', 'E', 'F'] }, // 更多Picker... ] } }, methods: { bindPickerChange(index, event) { // 更新pickers数组中的相应Picker的值 this.pickers[index].values = event.detail; } } } </script>
在这个示例中,每个Picker的
values
都是pickers
数组中的一个元素。当用户选择一个值时,这个值会被更新到对应的values
数组中。然后,由于数组是共享的,所以其他Picker也会更新。注意:由于Picker组件的限制,你不能直接设置Picker的值。你只能通过监听
@change
事件来间接地改变值。这就是为什么我们在bindPickerChange
方法中直接更新了pickers[index].values
的原因。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
- ¥15 电脑蓝屏logfilessrtsrttrail问题
- ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
- ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
- ¥15 Java+vue部署版本反编译
- ¥100 对反编译和ai熟悉的开发者。
- ¥15 带序列特征的多输出预测模型
- ¥15 Python 如何安装 distutils模块
- ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
- ¥15 资源泄露软件闪退怎么解决?