onValueChange不适用于现有组件



我正在使用React-Native-ui-Kitten的Rkswitch组件。该软件包只是我可以使用的一堆UI组件。

开发人员不再支持组件,而我的rkswitch组件无法正常工作。

我的问题是 RkSwitch的onvaluechange无能为力。

为Android&lt ;-渲染功能不起作用。(问题

iOS< - 尚未进行测试,但我认为它应该起作用。

我打电话给rkswitch。由于RKSWitch是React Native的<Animated.View>的包装类包装类,因此无法通过OnvalueChange。

<RkSwitch
    style={styles.switch}
    value={this.state.onlyMe}
    name="Push"
    onValueChange={
        (onlyMe) => {
            console.log('helloworld'); // it can't print helloworld
        }
    }
/> 

这是RKSWitch的实际代码。(这是Android版本)。DOC链接

_onPanResponderRelease = (evt, gestureState) => {
    let {toggleable} = this.state;
    let {disabled, onValueChange} = this.props;
    if (toggleable && !disabled) {
      if (onValueChange) { // calls onValueChange and..?
        this.toggleSwitch(onValueChange) // call toggle switch
      }
    }
  };
toggleSwitch = (result, callback = () => null) => {
    let {value, switchAnimation} = this.state;
    let toValue = !value;
    this.animateHandler(this.handlerSize);
    this.animateSwitch(toValue, () => {
      callback(toValue);
      this.setState({
        value: toValue,
        left: toValue ? onLeftValue : offLeftValue
      });
     switchAnimation.setValue(toValue ? -1 : 1)
    })

看来他们正在处理valuechange道具,但行不通。有没有好的JavaScript或React专家???

我没有尝试过,但也许进入rkswitch代码,并围绕动画添加一个 <TouchableOpacity>。查看并将onvaluechange prop添加到touchableOpacity的OnPress函数中。

相关内容

  • 没有找到相关文章

最新更新