と呼ばれるmongodbコレクションで定義されたタグを収集するためにreact-selectを使用していtags
ます。タグを配列options[]
ins状態に挿入する必要がありますstaticOptions[]
。
問題: console.log(name)
私handleOptions()
の場合、for ループの最初の項目のみをログに記録しています。
質問:tags
コレクションからオブジェクトの配列を のように返す方法this.state.options
はstaticOptions
?
//-------create class: Addgifts-----
export default class Addgifts extends Component{
constructor(){
super()
this.state={
value: [],
options: [],
staticOptions: [{ label: 'Chocolate', value: 'chocolate' },
{ label: 'Vanilla', value: 'vanilla' },
{ label: 'Strawberry', value: 'strawberry' },
]
}
}
//-------Handle options--------
handleOptions(){
let KeyWords = this.props.tags;
for (i=0 ; i<KeyWords.length ; i++){
return KeyWords[i].map.name((names)=>{
console.log(name);
return(
this.state.options.push({label:{name},value:{name}});
)
}
});
}
}
//-----Select Change----
handleSelectChange (value) {
console.log('You\'ve selected:', value);
this.setState({
value
});
}
//-----Select package----
<div>
<Select
multi={true}
value={this.state.value}
placeholder="Select all KeyWord(s)"
options={this.handleOptions()}
onChange={this.handleSelectChange.bind(this)} />
</div>
//-----subscribing tags from mongodb----
Addgifts.propTypes={tags: PropTypes.array.isRequired,};
export default createContainer(()=>{
Meteor.subscribe('tags');
return {gifts: Gifts.find({},{sort:{name:-1}}).fetch(),};
},Addgifts);