Javascript ReactJS输入未获得焦点
以下是我的父组件(FundLogo)代码:Javascript ReactJS输入未获得焦点,javascript,reactjs,Javascript,Reactjs,以下是我的父组件(FundLogo)代码: var FundLogo=React.createClass({ getInitialState:函数(){ 返回{编辑:false,img:“img/xxx.gif”}; }, onClick:function(){ this.setState({editing:true}); }, onBlur:函数(newImg){ this.setState({editing:false,img:newImg}); }, render:function(){
var FundLogo=React.createClass({
getInitialState:函数(){
返回{编辑:false,img:“img/xxx.gif”};
},
onClick:function(){
this.setState({editing:true});
},
onBlur:函数(newImg){
this.setState({editing:false,img:newImg});
},
render:function(){
返回(
{
这是国家编辑吗?
:
}
);
}
});
下面是子组件(FundEditLogoBox)的一个:
var FundEditLogoBox=React.createClass({
componentDidMount:function(){
this.refs.editLogoBox.getDOMNode().focus();
警报(“焦点在:“+document.activeElement”);
},
onBlur:function(){
this.props.onBlur(this.refs.editLogoBox.getDOMNode().value);
},
render:function(){
返回(
);
}
});
基本上我的代码应该做什么:
render: function() {
return (
<TextInput
ref={function(input) {
if (input != null) {
input.focus();
}
}} />
);
},
render:function(){
返回(
);
},
这就是您需要的:
render: function() {
return (
<TextInput
ref={function(input) {
if (input != null) {
input.focus();
}
}} />
);
},
render:function(){
返回(
);
},
谢谢你的帮助,弗朗索瓦,但这似乎不是问题所在。事实上,即使该方法被弃用,它也正确地返回了我的输入元素。我尝试了React.findDOMNode,但没有改进。我想我遇到了你的问题。对不起,自动对焦我忘了,但这不是问题所在。我仍然关注身体…使用TextInput我得到“ReferenceError:TextInput未定义”(事实上没有TextInput组件,所以这是一种正常行为)。将TextInput更改为input时,我得到“TypeError:input.focus不是函数”。所以不幸的是,它仍然不起作用。好好阅读文档,试着理解,如果你花时间阅读提供的文档,它完全符合你的需要。在这一点上,除了重写你的整个页面,我没有什么可以为你做的,也许你会找到人去做,但我现在没有时间去做。然而,我认为有了我给你的指导和小小的努力,你就能解决你的问题。希望有帮助。弗朗索瓦,很幸运感谢你的帮助,但这似乎不是问题。事实上,即使该方法被弃用,它也正确地返回了我的输入元素。我尝试了React.findDOMNode,但没有改进。我想我遇到了你的问题。对不起,自动对焦我忘了,但这不是问题所在。我仍然关注身体…使用TextInput我得到“ReferenceError:TextInput未定义”(事实上没有TextInput组件,所以这是一种正常行为)。将TextInput更改为input时,我得到“TypeError:input.focus不是函数”。所以不幸的是,它仍然不起作用。好好阅读文档,试着理解,如果你花时间阅读提供的文档,它完全符合你的需要。在这一点上,除了重写你的整个页面,我没有什么可以为你做的,也许你会找到人去做,但我现在没有时间去做。然而,我认为有了我给你的指导和小小的努力,你就能解决你的问题。希望有帮助。幸运的是,这张照片中还缺少一些东西,我试过了,效果很好,你用的是什么浏览器?这张图片中还缺少其他东西,我试过了,效果很好,你用的是什么浏览器?
render: function() {
return (
<TextInput
ref={function(input) {
if (input != null) {
input.focus();
}
}} />
);
},