收藏
回答

switch组件怎么在切换前进行验证?

我想实现的效果是:

在点击switch以后,会先经过一段验证,验证通过,再进行切换

现在的问题是:

switch只提供了bindchange方法,绑定bindtap也没有用

<switch data-id="{{item.id}}" class="switch-solve sm" bindchange="switchStatu" checked="{{item.status=='1'}}"></switch>
回答关注问题邀请回答
收藏

5 个回答

  • 让爱住你家༘
    让爱住你家༘
    2022-03-19

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

    <view capture-catch:bind="你的事件方法名">
      <switch/>
    </view>
    


    2022-03-19
    有用 2
    回复 2
    • 🦊🐘🐠
      🦊🐘🐠
      2022-03-28
      这个可以,厉害厉害
      2022-03-28
      回复
    • 鸿强
      鸿强
      2023-12-01
      我这里bind没生效,tap起作用了
      2023-12-01
      回复
  • 满眼星辰
    满眼星辰
    2021-10-12

    我目前采取的方法:

    利用 switch 的disabled 动态控制、需要验证的时候 动态把disabled 为true, 验证完毕之后把把状态恢复,

    disabled 的时候 可以采用onclick事件

    2021-10-12
    有用 2
    回复 1
    • 满眼星辰
      满眼星辰
      2021-10-12
      或者每次切换增加一个蒙层、通过check状态控制。
      2021-10-12
      回复
  • keith
    keith
    2021-09-29

    不是验证的问题,组件实现的不太好,点击后即使外部没有改变checked的值(还是false),组件也变成了选中状态了

    2021-09-29
    有用
    回复 1
    • keith
      keith
      2021-09-29
      应该是组件外部没有传checked值控制时时现在这个效果,如果外部有传checked值,那就以外部checked值为准
      2021-09-29
      回复
  • 卑微开发魏某
    卑微开发魏某
    2021-06-24

    怎么解决的啊,老哥


    2021-06-24
    有用
    回复 2
    • 2021-08-06
      在bindchange方法里面,用setData方法把值在改回来。只呢这样了,我也遇到相同的问题。就是这样搞定的。
      2021-08-06
      回复
    • 帅帅不帅
      帅帅不帅
      2021-12-10回复
      对,就是这样干的,还好用setData时没有再触发bindchange,不然无限循环就难搞了
      2021-12-10
      回复
  • 😶
    😶
    2021-01-21

    是什么场景使用呢, 需要验证再切换

    2021-01-21
    有用
    回复 6
    • .......
      .......
      2021-02-03
      我现在有一个商品上下架的操作,在我点击的时候我需要先询问是否下架,上架不管,如果我点击确定下架的话那就直接为false,但是我点击取消的话还是为false那个switch的状态
      2021-02-03
      回复
    • .......
      .......
      2021-02-03
      就是说我需要在我点击取消的时候让他的状态还是为true
      2021-02-03
      回复
    • .......
      .......
      2021-02-03
      请解答 谢谢
      2021-02-03
      回复
    • .......
      .......
      2021-02-03
      已经解决了 谢谢
      2021-02-03
      回复
    • 我迷路啦
      我迷路啦
      2021-02-05回复.......
      怎么解决的呀老哥
      2021-02-05
      回复
    查看更多(1)
登录 后发表内容
问题标签