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}
/>