Javascript 当焦点集中时,如何使用Reactjs选择输入中的所有文本?

Javascript 当焦点集中时,如何使用Reactjs选择输入中的所有文本?,javascript,select,input,reactjs,Javascript,Select,Input,Reactjs,例如: var InputBox=React.createClass({ render:function(){ 返回( ) } }); var InputBox=React.createClass({ getInitialState(){ 返回{ 文本:“” }; }, 渲染:函数(){ 返回( {this.setState({text:e.target.value});} onFocus={()=>{this.refs.input.select()} /> ) } }); 您必须在输入上设置

例如:

var InputBox=React.createClass({
render:function(){
返回(
)
}
});
var InputBox=React.createClass({
getInitialState(){
返回{
文本:“”
};
},
渲染:函数(){
返回(
{this.setState({text:e.target.value});}
onFocus={()=>{this.refs.input.select()}
/>
)
}
});

您必须在输入上设置ref,并且在聚焦时必须使用select()。

谢谢,我非常感谢。我这样做了:

var input = self.refs.value.getDOMNode();
            input.focus();
            input.setSelectionRange(0, input.value.length);
功能组件

React.createClass
React.createClass({
handleFocus:功能(事件){
event.target.select();
},
render:function(){
返回(
);
},
})
var React=require('React');
var Select=React.createClass({
handleFocus:功能(事件){
event.target.select()
},
render:function(){
}
});
module.exports=选择;

自动选择react类输入中的所有内容。输入标记上的onFocus属性将调用函数。OnFocus函数有一个名为“自动生成事件”的参数。像上面显示的事件一样,target.select()将设置输入标记的所有内容

在我的例子中,我想在模态中出现输入后从开头选择文本:

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

<input ref='copy'
componentDidMount:function(){
this.refs.copy.select();
},

使用useRefHook的另一种功能组件:

const inputEl = useRef(null);

function handleFocus() {
  inputEl.current.select();
}

<input
  type="number"
  value={quantity}
  ref={inputEl}
  onChange={e => setQuantityHandler(e.target.value)}
  onFocus={handleFocus}
/>
constinputel=useRef(null);
函数handleFocus(){
inputEl.current.select();
}
setQuantityHandler(e.target.value)}
onFocus={handleFocus}
/>

这在纯函数(无类)中工作,对于此解决方案为thx。如果只针对类中的一个字段:
e.target.select()}/>
@TK123,则无需额外的函数即可进一步简化。它还违反了例如所使用的。如何使禁用的
文本框工作@RahulDesai不使用
禁用
,而是使用
只读
const handleFocus = (event) => event.target.select();
const Input = (props) => <input type="text" value="Some something" onFocus={handleFocus} />
class Input extends React.Component {
    handleFocus = (event) => event.target.select();

    render() {
        return (
            <input type="text" value="Some something" onFocus={this.handleFocus} />
        );
    }
}
React.createClass({
    handleFocus: function(event) {
      event.target.select();
    },

    render: function() {
      return (
        <input type="text" value="Some something" onFocus={this.handleFocus} />
      );
    },
})
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;
componentDidMount: function() {
    this.refs.copy.select();
},

<input ref='copy'
const inputEl = useRef(null);

function handleFocus() {
  inputEl.current.select();
}

<input
  type="number"
  value={quantity}
  ref={inputEl}
  onChange={e => setQuantityHandler(e.target.value)}
  onFocus={handleFocus}
/>