React-Native 让TextInput主动失去焦点

  • 给TextInput添加ref
  • 添加外层view点击事件
  • 点击事件调用this.refs.textInput1.blur();即可

部分代码如下:

let ZKLTest1 = React.createClass({
  getInitialState:function(){
      return {
        inputedNum:'',
        inputedPW:'',
      };
  },
  updateNum:function(newText){
      this.setState((state)=>{
        return {
          inputedNum:newText,
        };
      });
  },
  updatePW:function(newText) {
    this.setState(()=>{
      return {
        inputedPW:newText,
      };
    });
  },
  _onPressIn() {
    console.log("press in");
  },

  _onPressOut() {
    console.log("press out");
  },

  _onPress() {
    console.log("press");

    this.refs.textInput1.blur();
    this.refs.textInput2.blur();
  },

  _onLonePress() {
    console.log("long press");
  },
  render() {
    return (
      <View style={styles.container}>
        <TouchableHighlight
        style = {styles.touchable}
        onPressIn = {this._onPressIn}
        onPressOut = {this._onPressOut}
        onPress = {this._onPress}
        onLongPress = {this._onLonePress} >
        <View style = {styles.container} >
        <TextInput ref="textInput1" style={[styles.instructions, styles.tiStyle]} placeholder={'请输入手机号'} clearButtonMode={'always'} keyboardType={'numeric'} maxLength={11} onChangeText={(newText)=>this.updateNum(newText)}/>
        <Text style={styles.instructions}>您输入的手机号为:{this.state.inputedNum}</Text>
        <TextInput ref="textInput2" style={[styles.instructions, styles.tiStyle]} placeholder={'请输入密码'} password={true} onChangeText={(newText)=>this.updatePW(newText)}/>
        <Text style={styles.instructions}>确定</Text>
        </View>
        </TouchableHighlight>
      </View>
    );
  }
});
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值