Page 1 of 1

[需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Sep 12日 16:06
by soundpool

针对项目温湿度警报上下限设置功能,使用了涂鸦物料广场上的步进器组件TyStepper(@ray-js/components-ty-stepper)。在进行手动输入时,只要内容有所变化都会通过onValueChange(短按值回调)进行回调,这样的话,就会导致用户手动输入还未完成时就有数据回调,在数据下发设备时无法正常处理。
是否可以把进步器的操作回调区分开来。单一增加一个手动输入完成后的回调(类似于Input组件失去焦点后数据回调),此时手动输入过程中就不要再通过onValueChange进行回调了;或也可以合并,只不过在手动输入时,这个回调值是在手动输入完成后的回调。


Re: [需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Sep 14日 11:18
by muhai

你好,当前还不支持该特性,我们会跟进,有进展会同步你。


Re: [需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Sep 14日 11:18
by muhai

预计会在0.0.7版本发布 onBlur键盘完成事件


Re: [需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Sep 19日 17:19
by muhai

键盘焦点事件已支持,详细API属性参考:https://developer.tuya.com/material/lib ... #TyStepper

yarn add --registry=https://registry.npmjs.org/ @ray-js/components-ty-stepper@0.0.7


Re: [需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Sep 21日 15:12
by soundpool
muhai 2023年 Sep 19日 17:19

键盘焦点事件已支持,详细API属性参考:https://developer.tuya.com/material/lib ... #TyStepper

yarn add --registry=https://registry.npmjs.org/ @ray-js/components-ty-stepper@0.0.7

感谢!已测试,可支持键盘焦点事件(onBlur和onFocus)。
问题:但在组件手动输入属性(editable)为true即可手动输入的情况下,正在进行手动输入(用户还未完全输入结束)时,出现短按值回调(onValueChange),每改变一次都会回调一次;如果不监听短按值回调,在操作组件两边的加与减操作时又无返回值回调。除非在保留键盘焦点事件和短按值事件的情况下,在手动输入时,对两者事件再次进行事件判断,进而对数据做不同方式的处理(手动输入时,onValueChange回调的值不做处理;在两边操作时才会对onValueChange回调的值做处理)。
建议:是否可考虑组件手动输入属性(editable)为true情况下,用户手动输入时,短按值回调(onValueChange)就不要进行回调。只有当操作两边的按钮操作(“+”与“-”)时,进行短按值回调(onValueChange),或直接按键盘失去焦点事件(onBlur)进行回调。


Re: [需求]物料广场进步器手动输入的回调问题

Posted: 2023年 Oct 7日 10:23
by muhai
soundpool 2023年 Sep 21日 15:12
muhai 2023年 Sep 19日 17:19

键盘焦点事件已支持,详细API属性参考:https://developer.tuya.com/material/lib ... #TyStepper

yarn add --registry=https://registry.npmjs.org/ @ray-js/components-ty-stepper@0.0.7

感谢!已测试,可支持键盘焦点事件(onBlur和onFocus)。
问题:但在组件手动输入属性(editable)为true即可手动输入的情况下,正在进行手动输入(用户还未完全输入结束)时,出现短按值回调(onValueChange),每改变一次都会回调一次;如果不监听短按值回调,在操作组件两边的加与减操作时又无返回值回调。除非在保留键盘焦点事件和短按值事件的情况下,在手动输入时,对两者事件再次进行事件判断,进而对数据做不同方式的处理(手动输入时,onValueChange回调的值不做处理;在两边操作时才会对onValueChange回调的值做处理)。
建议:是否可考虑组件手动输入属性(editable)为true情况下,用户手动输入时,短按值回调(onValueChange)就不要进行回调。只有当操作两边的按钮操作(“+”与“-”)时,进行短按值回调(onValueChange),或直接按键盘失去焦点事件(onBlur)进行回调。

valueChange触发事件valueChangeTrigger已支持指定, yarn add @ray-js/components-ty-stepper@0.0.8

示例如下:

Code: Select all

<Stepper
  onValueChange={console.log}
  valueChangeTrigger={['add', 'sub', 'onBlur']}
  editable
/>

valueChangeTrigger中包含的事件,会在该事件触发时通过onValueChange进行回调,现在支持的事件有:"add", "sub", "onInput", "onBlur", "onFocus"

详细API属性参考:https://developer.tuya.com/material/lib ... =TyStepper