uview-plus u-picker的defaultIndexs修改后无效的问题

uniapp项目中使用了uview-plus组件库,在使用u-picker组件时,发现其默认的选中属性

defaultIndex是一次性的,修改后无法响应,解决办法就是在u-picker源码中修改这个属性的watch,源码位置在uni_modules/uview-plus/components/u-picker/u-picker.vue,或者直接跳转,找到watch项,把defaultIndex项下加上deep:true,如图:

在uView Plus中,picker组件是一种常用的UI组件,用于用户在多个选项中选择一个选项。它支持多种选择模式,如单列模式、多列模式、时间选择器等。以下是picker组件的基本用法: 1. 单列模式 ```html <uni-picker mode="selector" :range="{{['选项1','选项2','选项3']}}" @confirm="onPickerConfirm"> <view>请选择</view> </uni-picker> ``` 在单列模式中,我们通过设置mode属性为"selector"来指定选择器的模式。同时,通过设置range属性来指定选项列表。在用户选择完选项并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数中获取选中的。 2. 多列模式 ```html <uni-picker mode="multiSelector" :range="{{multiRange}}" @confirm="onPickerConfirm"> <view>请选择</view> </uni-picker> ``` 在多列模式中,我们通过设置mode属性为"multiSelector"来指定选择器的模式。同时,通过设置range属性来指定多列选项列表。我们需要将每列选项列表保存在一个数组中,然后将这些数组组成一个数组,作为range属性的。在用户选择完选项并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数中获取选中的。此外,我们还需要在data中定义一个multiIndex变量来保存每列选中的索引。 3. 时间选择器 ```html <uni-picker mode="time" @confirm="onPickerConfirm"> <view>请选择时间</view> </uni-picker> ``` 在时间选择器中,我们通过设置mode属性为"time"来指定选择器的模式。在用户选择完时间并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数中获取选中的时间。 在以上示例代码中,我们都绑定了confirm事件,然后在事件处理函数中获取选中的。我们可以根据实际需求来选择合适的模式和设置选项,以满足我们的业务需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值