0
我有這個下面的代碼如何加載另一個分量的onChange函數裏面ReactJS
var SelectOption = React.createClass({
getInitialState: function() {
return {
data: []
};
},
handleemployeeChange: function() {
alert('sssss');
},
loadOptionfromServer: function() {
$.ajax({
url: this.props.url,
dataType: 'json',
cache: false,
success: function(data) {
this.setState({
data: data
});
console.log(data);
}.bind(this),
error: function(xhr, status, err) {
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
componentDidMount: function() {
alert('sssss');
this.loadOptionfromServer();
//setInterval(this.loadCommentsFromServer, this.props.pollInterval);
},
render: function() {
return (< SelectOptionList data = {
this.state.data
}
/>
);
}
});
var SelectOptionList = React.createClass({
render: function() {
var commentNodes = this.props.data.map(function(list) {
return (< Addcontenttoselect id = {
list.emp_ide_id
}
option = {
list.emp_name
} >
< /Addcontenttoselect>
);
});
return (< select id = "select1"
className = "form-control"
data - placeholder = "Basic Select2 Box"
onChange = {
this.handleemployeeChange
} > {
commentNodes
} < /select>
);
}
});
var Addcontenttoselect = React.createClass({
render: function() {
return (< option value = "{this.props.id}" > {
this.props.option
} < /option>);
}
});
ReactDOM.render(< div className = "col-md-3" > <h3> Select Employee to Review < /h3><SelectOption url="/appraisal/employeelist " pollInterval={70000} /></div>, document.getElementById('select-box'));
因此,這部分在瀏覽器中創建了一個選擇標記,我想利用所選選項的值,並調用另一組件將從數據創建一個表從API得到
的任何線索,請讓我知道
感謝
我有一個名爲組件'< loadUserAppraisal url =「something」empid =「IMP132」>'當我從下拉列表中選擇一個ID時,我想渲染這個組件。那麼你能告訴我在代碼中哪些地方需要這樣做嗎? – Vikram
我很可能在那個OnChange函數裏面? – Vikram
編輯了我的答案,因爲它沒有包含在最終的渲染中,所以變更不起作用。您可以在Change函數中執行數據提取,然後使用新值設置狀態。之後,renderResult函數將會小心。如果你這樣做,你不需要通過url和id作爲道具,而是獲取數據。 – hyde