收藏
回答

picker-view 没有disabled属性?

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug picker-view 微信iOS客户端 6.7.0 2.1.1


像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>


最后一次编辑于  2018-07-02  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • 演绎者-PZJ
    演绎者-PZJ
    2018-12-21

    请教一下,这个capture-catch:touchstart="test" 怎么动态去掉呢

    2018-12-21
    赞同
    回复
  • 施瓦辛格
    施瓦辛格
    2018-07-02

    在事件函数上做手脚是不行的,就算不绑定,picker-view也可以改变值,达不到disabled的效果。

    2018-07-02
    赞同
    回复
  • ocean💦
    ocean💦
    2018-07-02
    不设bindchange监听函数就行了,只做显示,想要解除禁用,绑定一个点击函数就行了


    2018-07-02
    赞同
    回复 1
    • 施瓦辛格
      施瓦辛格
      2018-07-02

      那样的话,视觉上的差异也需要自己实现的,会复杂一些。

      2018-07-02
      回复
  • 明琛
    明琛
    2018-07-02

    你可以在你的事件函数里面加开关啊,也能达到的一样的效果的。

    2018-07-02
    赞同
    回复 1
    • 施瓦辛格
      施瓦辛格
      2018-07-02

      你的方法可以救急,因为视觉上是没有差别的,用户不能明显的感觉到。当然也可以在对应的代码里实现,但是会比较麻烦,其它组件都有disabled,建议这个也加上disabled属性。

      2018-07-02
      回复