为什么可触摸的不透明onPress不会触发?

时间:2019-11-17 19:07:49

标签: react-native

我遇到一个问题,即我的可触摸不透明度onPress无法触发。我确定它不起作用,因为当我按下它时,没有控制台记录到系统。

我的按钮组件:

const FloatingPlusButton = (props) => {
    return (
      <View style={styles.buttonStyle}>
        <TouchableOpacity onPress={props.tapToAddEvent}>
          <MaterialIcons
            name='add'
            size={45}
            color='#28313b'
          />
        </TouchableOpacity>
      </View>
    );
};

我称之为:

class HomeScreen extends Component {
  constructor() {
    super();
    this.state = {
      textInput: '',
      inputVisible: true
    };
  }

  onFloatingButtonPress() {
    this.setState({ inputVisible: true }, () => { this.textInputField.focus(); });
    console.log('p');
  }
  render() {
    return (
      <View style={{ flex: 1, height: HEIGHT }}>
        { !this.state.inputVisible &&
          <FloatingPlusButton tapToAddEvent={this.onFloatingButtonPress.bind(this)} />
        }
      </View>
    );
  }
}

为清楚起见,我确实看到该按钮,而inputVisible道具不是问题。当我按它时什么也没有发生。我同时使用.bind(this)和没有它都尝试过,但都没有用。

1 个答案:

答案 0 :(得分:0)

我能够弄清楚。我必须使按钮的zIndex大于根视图组件的zIndex。谢谢大家的帮助。