React Native clear text多个TextInput框

时间:2015-11-22 04:03:44

标签: react-native textinput

我在facebook React Native页面上找到了示例代码,该页面显示了如何使用setNativeProp清除单击上的文本,但我看不到如何使用多个文本框来执行此操作。这是代码:

<div style="position:absolute;left:0px;top:0px;visibility:hidden;" id="datadiv">
    <img src="gplus.cs" height="0" width="0">
    </img>
</div>

ref似乎在函数中被修复,因此将始终以相同的TextInput框为目标。如何更改函数以定位我指示的任何TextInput框?

2 个答案:

答案 0 :(得分:9)

这应该有效。请注意,TextInput上的引用必须是您从clearText functino调用的引用。

var App = React.createClass({
  clearText(fieldName) {
    this.refs[fieldName].setNativeProps({text: ''});
  },

  render() {
    return (
      <View style={styles.container}>
        <TextInput ref={'textInput1'} style={styles.textInput} />
        <TouchableOpacity onPress={() => this.clearText('textInput1')}>
          <Text>Clear text</Text>
        </TouchableOpacity>
        <TextInput ref={'textInput2'} style={styles.textInput} />
        <TouchableOpacity onPress={() => this.clearText('textInput2')}>
          <Text>Clear text</Text>
        </TouchableOpacity>
      </View>
    );
  }
});

更新了我的答案以清除不同的字段。

答案 1 :(得分:1)

您也可以使用类似的东西来清除TextInput的文本。

clearText(fieldName) {
  this.refs[fieldName].clear(0);
},