(reactjs)获取子组件值
(reactjs) get child component value
我有以下反应组件Timepicker:
export default class TimePicker extends Component{
render(){
return(
<div>
<input id={this.props.nameID} type="text"></input>
</div>);
}
}
TimePicker由SingleTask:使用
export default class SingleTask extends Component{
....
render(){
....
<TimePicker nameID="time" />
.....
}
}
如何从SingleTask访问TimePicker中的输入值?
您可以通过两种方式解决此问题:
- SingleTask组件中的唯一更改:向TimePicker组件添加一个ref并访问它的DOM。在那里,您可以通过选择jQuery选择器来查询您的输入。这里我使用了标记选择器(注意:不包含jQuery的依赖项)
:
export default class SingleTask extends Component{
yourFunction(){
var selectedTime = React.findDOMNode(this.refs.timePickerComp).querySelector('input').value;
}
render(){
....
<TimePicker ref="timePickerComp" nameID="time" />
.....
}
}
- 通过子组件的功能公开数据(React方式):
时间选择器:
export default class TimePicker extends Component{
function getSelectedTime(){
return document.getElementById(this.props.nameID).value;
}
render(){
return(
<div>
<input id={this.props.nameID} type="text"></input>
</div>);
}
}
单一任务:
export default class SingleTask extends Component{
yourFunctionWhereYouNeedTime(){
var timeSelected = this.refs.timePickerComp.getSelectedTime(); // here you'll access the child component data.
}
render(){
....
<TimePicker ref="timePickerComp" nameID="time" />
.....
}
}
相关文章:
- 如何在另一个组件中获取指令/组件实例
- Vue.js获取组件中的一个元素
- 从子级获取React dom组件
- React - 从 DOM 元素获取组件以进行调试
- 如何获取子组件的内容Angular 2中的子组件
- 在 ExtJS 中获取父组件
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 从子窗体组件ReactJS中获取道具
- Vue.js从另一个组件获取数据
- 如何获取当前Vue组件的DOM元素
- React Native:将id设置为一个组件并获取该组件's的id
- 如何在Vue.js中获取组件元素的offsetHeight
- 在react组件中使用ajax获取实时更新的数据
- 从淘汰js组件中获取数据
- 反应:从父组件获取子组件数据
- React Redux 子组件获取父组件设置的全局属性,而无需通过 props 传递它
- 如何将数据从子组件获取到 props 中传递的按钮的 onclick 中
- 从其他组件获取参数[React JS]
- 可以't从子组件获取要在父组件上执行的方法
- 组件获取重复的内容,而不是刷新