我正在动态创建多个文本输入(使用动态创建的引用)和我想要用输入更新的文本。
我试图通过将ref设置为变量并使用React.findDOMNode(this.refs.Variable)找到DOM节点来获取输入的值.value
我得到一个"无法阅读财产'价值' of null"错误。
我怎样才能做到这一点?
这就是函数的样子:
resetUnit: function(e){
var refID = e.target.id;
var ID = refID.split("-")[0];
var Value = React.findDOMNode(this.refs.refID).value;
NodesCollection.update({_id: ID},{$set: { materialUnit : Value}});
this.setState({
edit: ''
});
},
答案 0 :(得分:12)
var Value = React.findDOMNode(this.refs.refID).value;
找到具有ref "refID"
的组件的DOM节点。如果要查找具有ref refID
(变量)的组件的DOM节点,则需要
var Value = ReactDOM.findDOMNode(this.refs[refID]).value;
答案 1 :(得分:2)
我不得不做
import ReactDOM from 'react-dom';
ReactDOM.findDOMNode(this.refs.hi);
在React 15.2.1(https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode)
中答案 2 :(得分:0)
我得到一个"无法阅读财产'价值' of null"错误。
两种可能的情况:
log
以仔细检查ID是否是您认为的componentDidMount
吗?