我與基於JSON數據前檢查單選按鈕解決方案來的,但我覺得代碼可以得到改善。或者應該有更好的實施方法。數據結構如下:如何使檢查單選按鈕陣營
{
radioA: 'Radio A',
radioB: 'Radio B',
radioC: 'Radio C',
selected: 'Radio A'
}
不確定這是否是最好的方法。數據結構可以根據需要進行修改。基於所提供我渲染單選按鈕與它們中的一個的數據
預先選中。以下是我的。
var App = React.createClass({
getInitialState: function(){
return {
radioA: 'Radio A',
radioB: 'Radio B',
radioC: 'Radio C',
selected: 'Radio A'
}
},
render: function(){
return(
<div>
{Object.keys(this.state).map(function(key) {
// Not displaying the selected data
if(key !== 'selected'){
// Checked radio button
if(this.state[key] == this.state['selected']){
return(
<div>
<label className="radio-inline" key={key} htmlFor={key}>
<input id={key} type="radio" checked value={key} /> {this.state[key]}
</label>
</div>
);
}
else{
return(
<div>
<label className="radio-inline" key={key} htmlFor={key}>
<input id={key} type="radio" value={key} /> {this.state[key]}
</label>
</div>
);
}
}
}, this)}
</div>
);
}
});
React.render(<App />, document.getElementById('container'));
代碼設置以下jsfiddle.com https://jsfiddle.net/rexonms/2x7ey2L5/
是否有更好的解決方案來實現這一點?在此先感謝
不幸在你的jsfiddle例如不工作 - 你不能改變的單選按鈕。 –
小提琴按預期工作。在陣營文檔要理解爲什麼你不能改變的單選按鈕,這是無關的OP的問題,瞭解受控和非受控組件:https://facebook.github.io/react/docs/forms.html –