收藏
回答

switch点击可以阻止默认滑动吗?


需求:

用switch来控制硬件设备的开关,通过硬件设备传回来的值判断是否控制成功。

希望实现:

点击switch,switch不滑动,等到硬件设备(就是服务器)传回成功信号,switch再滑动

请问大佬们怎么实现改功能?

回答关注问题邀请回答
收藏

6 个回答

  • 让爱住我家
    让爱住我家
    03-19

    你们方式都有点猥琐,比较优雅的实现方式:把事件绑定到switch的父组件上,用取消事件捕获让switch无法触发。代码示例:

    <view capture-catch:bind="你的事件方法名">
      <switch/>
    </view>
    
    03-19
    有用
    回复
  • 朋
    2020-09-10

    我也有相同的需求,我的实现是在上面加个遮罩;


    2020-09-10
    有用
    回复
  • 李寻欢
    李寻欢
    2020-04-16
    // 将switch按钮禁用  并将bindChange时间改为ontap事件  所有判断都在ontap事件中进行判断操作
    

    点击了switch开关 弹出此对话框 此时data中的指未改变:

    点击确定按钮后 data中的值改变 然后页面中的switch开关打开了:

    2020-04-16
    有用
    回复
  • 😈 
追 卓
    😈 追 卓
    2020-02-25

    上面我是弄好,我是用的taro,但是原生也一样的做法,应该可以实现,具体如下:

    按钮套盒子,盒子相对定位,盒子内加一定位块,盖住按钮,将按钮组件本身禁用(disabled),通过定位块事件响应结果,执行setState(setData)来更新checked值,很稳!(可用请点赞,不可用请扔鸡蛋,嘿嘿)

    2020-02-25
    有用
    回复 1
    • 😈 
追 卓
      😈 追 卓
      2020-02-25
      懒人懒办法,自定义组件自然也可行
      2020-02-25
      回复
  • 静静的发呆
    静静的发呆
    2019-11-13

    问题消息描述



    需求:点击开关,后台未传回成功标志,开关不滑动(改变)

    实现方法:

    初始开关状态



    点击开关事件如此写:


    至此,功能实现,谢谢楼上老铁。

    智商不够,文档看完也不会,尴尬。

    2019-11-13
    有用
    回复 1
    • 芃芃
      芃芃
      2019-12-30
      这个做法不对啊,表现比较奇怪,就把disabled设成true,然后监听switch的ontap事件
      2019-12-30
      回复
  • 罗梅光
    罗梅光
    2019-11-13

    看文档。


    2019-11-13
    有用
    回复 1
    • 静静的发呆
      静静的发呆
      2019-11-13
      ok,突然开窍了。
      2019-11-13
      回复
登录 后发表内容
问题标签