【发布时间】:2015-08-13 16:14:03
【问题描述】:
我正在尝试将多个组件的状态 (actiu) 设置为 false,通过类引用它们。当我从一行中单击一个标签时,如何实现这一点,该行中所有元素的 actiu 状态变为 false? 这是我的组件树:
有一些 Blade 模板语法可以生成每一行标签
var RespostesBox = React.createClass({
render: function() {
return (
<div className="form-group">
<?php $zenbatu = 0; ?>
@foreach($preguntes as $p)
<div className="well">
{{ $p->preg }}
{{ $p->help }}
</div>
<?php $zenbatu++ ?>
<?php for($j = 0; $j <= 10; ++$j) { ?>
<LabelResp izena="resp{{ $zenbatu }}" balioa="{{ $j }}" />
<?php } ?>
@endforeach
</div>
);
}
});
var LabelResp = React.createClass({
getInitialState: function() {
return {actiu: false};
},
handleClick: function(event) {
//
this.setState({actiu: true})
},
render: function() {
return (
<label className={this.state.actiu ? "radio-inline amgrd actiu" :"radio-inline amgrd"} onClick={this.handleClick}>
<input type="radio" name={this.props.izena} value={this.props.balioa} className={this.props.izena} /> {this.props.balioa}
</label>
);
}
});
React.render(
<RespostesBox />,
document.getElementById('lespreguntes')
);
提前感谢您的帮助!
【问题讨论】:
-
当您可以将数据 (
$preguntes) 序列化为 JSON 并在 JS 中处理所有内容时,我不明白为什么要将 PHP + Blade 与 JavaScript 混合使用...(您是顺便说一句,还混合了英语、加泰罗尼亚语和巴斯克语;)
标签: javascript components reactjs setstate