2015-04-02 74 views

回答

15

我已經提交了一個PR blurOnSubmit屬性。

將它設置爲falseTextInput從不模糊,但onSubmitEditing仍然引發。

希望它合併。 :)

https://github.com/facebook/react-native/pull/2149

+2

耶!它合併了! – 2015-11-05 20:50:42

6

我想出了以下(工作)解決方案:

var NameInput = React.createClass({ 
    getInitialState() { 
    return { 
     textValue: '' 
    } 
    }, 

    clearAndRetainFocus: function(evt, elem) { 
    this.setState({textValue: elem.text}); 
    setTimeout(function() { 
     this.setState({textValue: this.getInitialState().textValue}); 
     this.refs.Name.focus(); 
    }.bind(this), 0); 
    }, 

    render() { 
    return(
     <TextInput 
     ref='Name' 
     value={this.state.textValue} 
     onEndEditing={this.clearAndRetainFocus} /> 
    ) 
    } 
}); 

所以,基本上,當我們最終的編輯,我們將textValue狀態設置爲以後的TextInput和右邊的值(setTimeout)我們將它切換回默認值(空)並保留元素的焦點。

+0

這隻能工作一半的時間。增加超時有幫助,但必須有一個始終有效的解決方案。 – brysgo 2015-04-04 01:47:10

+0

使用軟件鍵盤更可靠,但鍵盤跳轉關閉然後打開。 – brysgo 2015-04-04 02:48:38

+1

在onSubmitEditing上做什麼? – 2015-07-05 03:20:38

相關問題