2016-03-17 12 views

答えて

50

は、このきれいなアプローチを試してみてください。入力タグのonFocus属性は関数を呼び出します。 OnFocus関数には、自動的に生成されるeventというパラメータがあります。上記のshowと同様に、event.target.select()は入力タグのすべての内容を設定します。入力がモーダルに登場した後、私は最初からテキストを選択したかった私の場合は

+1

これは純粋な機能(なしクラス)で動作し、このソリューションのためのTHX。 –

7
var InputBox = React.createClass({ 
    getInitialState(){ 
    return { 
     text: '' 
    }; 
    }, 
    render: function() { 
    return (
     <input 
     ref="input" 
     className="mainInput" 
     placeholder='Text' 
     value={this.state.text} 
     onChange={(e)=>{this.setState({text:e.target.value});}} 
     onFocus={()=>{this.refs.input.select()}} 
     /> 
    ) 
    } 
}); 

あなたが入力に参照を設定する必要がと焦点を当てたときに(選択使用する必要があります)。

1

ありがとう、私はそれを感謝します。私はそれをやった:自動反応するクラスの入力内のすべてのコンテンツを選択し

handleFocus: function(event) { 
    event.target.select(); 
}, 

render: function() { 
    return (
    <input type='text' value='Some something' onFocus={this.handleFocus} /> 
); 
}, 
0
var React = require('react'); 

var Select = React.createClass({ 
    handleFocus: function(event) { 
     event.target.select() 
    }, 
    render: function() { 
     <input type="text" onFocus={this.handleFocus} value={'all of this stuff'} /> 
    } 
}); 

module.exports = Select; 

var input = self.refs.value.getDOMNode(); 
      input.focus(); 
      input.setSelectionRange(0, input.value.length); 
+0

このコードスニペットは質問に答えるかもしれませんが、方法や理由を説明する文脈は提供していません。答えを説明するために1つまたは2つの文を追加することを検討してください。 – brandonscript

0

componentDidMount: function() { 
    this.refs.copy.select(); 
}, 

<input ref='copy' 
関連する問題