javascript - 如何在 Alert 函数 [React-Native] 上从 onPress 调用方法

标签 javascript reactjs react-native react-native-ios

如何在 Alert 函数 [React-Native] 上从 onPress 调用方法

<Button
  onPress={{() => Alert.alert(
    'Alert Title',
    'alertMessage',
    [
      {text: 'Cancel', onPress: () => console.log('Cancel Pressed!')},
      {text: 'OK', onPress: () => {this.onDeleteBTN}},

    ],
    { cancelable: false }
  )}}
  >
      <Text> Delete Record </Text>
</Button>

在 Alert Dialog 上的 OK 按钮之后 我要打电话

onDeleteBTN = () => {
    alert(' OnDelete');
}

{text: 'OK', onPress: () => {this.onDeleteBTN.bind(this)}},
{text: 'OK', onPress: () => {this.onDeleteBTN}},

不行


最佳答案

第一期,Button组件有一个 title prop 而不是 <Text>作为一个 child 。第二个问题是你有一堆语法错误并且没有正确调用函数(或绑定(bind))。如果你修复了它,那么它应该可以正常工作;例如:

alert = (msg) => {
  console.log(msg)
}

onDeleteBTN = () => {
  this.alert(' OnDelete')
}

render() {
  return (
    <View style={styles.container}>
      <Button
        title="Delete Record"
        onPress={() => Alert.alert(
          'Alert Title',
          'alertMessage',
          [
            {text: 'Cancel', onPress: () => console.log('Cancel Pressed!')},
            {text: 'OK', onPress: this.onDeleteBTN},
          ],
          { cancelable: false }
        )}
      />
    </View>
  );
}

注意:

  • 我不知道你的alert()功能应该做的,所以我做了一个虚拟的记录到控制台。
  • 还有其他方法可以做到这一点,比如调用 onDeleteBTN()或绑定(bind)。

关于javascript - 如何在 Alert 函数 [React-Native] 上从 onPress 调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44527230/

相关文章:

javascript - 使用 jQuery one() 函数作为 hack 来防止触发多个点击事件

javascript - Angular JS + 用户认证 + 页面刷新

javascript - Web Worker 与 Promise

javascript - 我如何在 Capybara 中测试页面是否*未*重新加载(JavaScript onClick 拦截有效)?

reactjs - 使用 instanceof 测试 React 组件的基类

reactjs - 如何在 React JS 函数中使用 State?

react-native - 类型错误 : Cannot read property 'getCurrentUserAsync' of undefined

javascript - 在 React Native 中并排显示图像和文本

react-native - 什么是 React Native 崩溃报告的好设置?

angular - 如何在 IntelliJ IDEA 社区版中开发 Angular/React