帖子
帖子
用户
博客
课程
显示全部楼层
18
帖子
0
勋章
104
Y币

[建议] UISwitchButton等模块设置值接口的建议

[复制链接]
发表于 2017-11-30 17:14:25
举例:
        var switchBtn = api.require('UISwitchButton');
        switchBtn.open({
          id: 0,
          state:false,
          rect: {
            x: 325,
            y: 100,
            w: 75,
            h: 30
          },
          styles:{
             bgCorner:15,
             active:'#ADFF2F',
             inActive:'#ffffff',
             thumb:{
                active:'#FF00FF' ,
                inActive:'#FF00FF' ,
                size:26,
                corner:15
             }
          },
          fixedOn: api.frameName,
          fixed: false
      }, function(ret) {
          alert("111");
      });

当调用UISwitchButton的turnOn,turnOff方法时,也会触发open里面的alert("111");。
同理,UICustomPicker和uislider里的setValue方法,也会触发回调。

建议把  真实操作 和   setValue等方法设置指定值   做区分,比如用不同事件类型区分或者在open方法里面增加字段配置设置指定值方法不触发回调。
否则在不想要设置值触发回调的时候,代码很难去区分。

380
帖子
4
勋章
6
Y币
建议很好,这些是需要在模块设计时充分考虑的。但是UISwitchButton 没有发现你说的现象。
18
帖子
0
勋章
104
Y币
技术支持-F 发表于 2017-11-30 19:28
建议很好,这些是需要在模块设计时充分考虑的。但是UISwitchButton 没有发现你说的现象。 ...

有的,比如你现在开关的关的状态,那调用turnOn,就会触发回调,没变化倒是不会触发。
不过UICustomPicker和uislider里的setValue方法,没变化也会触发。
2
帖子
0
勋章
2271
Y币
老必 发表于 2017-11-30 19:39
有的,比如你现在开关的关的状态,那调用turnOn,就会触发回调,没变化倒是不会触发。
不过UICustomPicke ...

在iOS还是Android上出现的?
18
帖子
0
勋章
104
Y币
cjapi 发表于 2017-11-30 23:20
在iOS还是Android上出现的?

我是安卓7.1.1
18
帖子
0
勋章
104
Y币
本帖最后由 老必 于 2017-12-1 14:21 编辑
cjapi 发表于 2017-11-30 23:20
在iOS还是Android上出现的?

补充一下:uislider里的setValue方法,会触发回调,但是eventType=“set”,可以区分出来。
UICustomPicker里的setValue方法也会触发,eventType=“select”和正常操作一样的,没法区分。
您需要登录后才可以回帖 登录

本版积分规则