2017-06-27 140 views
0

我想创建一个菜单,用户应该创建一个角色的详细信息,但我有一个问题,通过输入一个孩子来更新选项状态。更新从React儿童状态

var Name = React.createClass({ 
    render: function(){ 
    return(
     <input type="text"/> 
    ) 
    } 
}); 

var Options = React.createClass({ 
    getInitialState: function(){ 
    return{ 
     name: '' 
    } 
    }, 
    render: function(){ 
    return (
     <div> 
      Name: <Name onChange={this.updateName} value={this.state.name} /> 
     </div> 
    ) 
    }, 
    updateName: function(evt){ 
    this.setState({ 
     name: evt.target.value 
    }); 
    } 
}); 

我该如何使用来自Name的输入更新Option选项状态?

+0

[将数据从子项传递给父组件 - 反应 - 通过回调函数]可能的副本(https://stackoverflow.com/questions/44754051/passing-data-from-child-to-parent-component-react-通过回调函数) – Vasi

回答

0

您需要的名称组件上的onChange功能以及,发送该值到母部件

试试这个:

var Name = React.createClass({ 
    onUpdate: function(evt) { 
     this.props.onChange(evt); 
    } 

    render: function(){ 
    return(
     <input type="text" onChange={this.onUpdate} value={this.props.value}/> 
    ) 
    } 
}); 

var Options = React.createClass({ 
    getInitialState: function(){ 
    return{ 
     name: '' 
    } 
    }, 
    render: function(){ 
    return (
     <div> 
      Name: <Name onChange={this.updateName} value={this.state.name} /> 
     </div> 
    ) 
    }, 
    updateName: function(evt){ 
    this.setState({ 
     name: evt.target.value 
    }); 
    } 
});