这是我关于Stack Overflow的第一个问题,所以请随意让我更准确。
我的meteor服务器上有MongoDB的集合。使用transform选项,我添加了一个可以切换的简单选择属性:
Nodes = new Mongo.Collection("nodes", {
transform : function(item) {
item.selected = false;
item.toggleSelected = function() {
item.selected = !item.selected;
}
return item;
}
});
我添加了一个函数toggleSelected
因为我无法修改使用meteor的Update函数选择的属性(或者我可能不知道如何)。所以这让我想到了显示Nodes
列表的问题。在此列表中,我可以选择和取消选择每个节点,当我选择它时,我希望带有React的UI更新自身,以便我们可以看到节点已被选中:
Node = React.createClass({
propTypes: {
node: React.PropTypes.object.isRequired,
},
render() {
return (
<li onClick={this.toggleSelected}>
<span>{this.props.node.text}</span>
<span className="single-node">Selected : {this.props.node.selected?"true":"false"}</span>
</li>
);
},
toggleSelected(){
this.props.node.toggleSelected();
}
});
我已经知道forceUpdate()函数,但我不想使用它,因为它删除了数据驱动的UI。我需要在Mongo集合中保留selected
属性,因为我有一个取决于此selected
值的其他视图。