在输入文本更改期间添加属性以响应本机组件

时间:2017-03-29 16:06:38

标签: react-native native-base

有没有办法在文本更改期间向React组件添加属性?

我有一个注册页面,我想通过向组件添加“error”属性来突出显示文本框。

PS:我正在为我的项目使用NativeBase,“Input”等于“native”中的“Text”。

以下是没有错误的代码

<Item>
  <Input placeholder='Email' onChangeText={(val) => this.validateEmail(val)}/>
  <Icon name='close-circle' />
</Item>

以下是代码将显示错误

  <Item error>
    <Input placeholder='Email' onChangeText={(val) => this.validateEmail(val)}/>
    <Icon name='close-circle' />
  </Item>

enter image description here

如果无法在行动期间添加额外属性,请大家给我一个实现此目的的方法吗?

对于这个问题我很抱歉,我仍然很陌生。

1 个答案:

答案 0 :(得分:2)

您可以根据状态将错误设置为true或false,并使validateEmail切换该状态值:

this.state = {
  showError: false
}
...
<Item error={this.state.showError}>

and somewhere inside validateEmail you would do this.setState({ showError: true })