像button slider等等都有disabled属性,可以方便地在某种条件下禁用;picker-view为什么没有disabled属性呢?需要在一定条件下禁用picker-view时,发现没有办法实现。
更新:
1. 在bindchange处控制不能实现;
2. 使用capture-catch:touchstart="test" 可以拦截touchstart就可以实现disabled=true的效果了,不容易,如下所示:
<picker-view capture-catch:touchstart="test" id='reverbModesPicker' mask-style="" indicator-style="height: 30rpx;" style="width: 300rpx; height: 200rpx;" value="{{[reverbModesIndex]}}" bindchange="reverbChange"> <picker-view-column> <view wx:for="{{reverbModes}}" style="line-height: 50rpx; font-size: 25rpx; ">{{item.name}}</view> </picker-view-column></picker-view> |

请教一下,这个
capture-catch:touchstart="test" 怎么动态去掉呢在事件函数上做手脚是不行的,就算不绑定,picker-view也可以改变值,达不到disabled的效果。
不设bindchange监听函数就行了,只做显示,想要解除禁用,绑定一个点击函数就行了那样的话,视觉上的差异也需要自己实现的,会复杂一些。
你可以在你的事件函数里面加开关啊,也能达到的一样的效果的。
你的方法可以救急,因为视觉上是没有差别的,用户不能明显的感觉到。当然也可以在对应的代码里实现,但是会比较麻烦,其它组件都有disabled,建议这个也加上disabled属性。