我有一个简单的“多重选择”字段:
<MultiSelectText
multiple={true}
options={this.props.fields}
onChange={this.handleChange}
name="fields"
label="fields"
items={this.props.fields}
sorting="sorting"
/>
我检索到的数组看起来像这样:
[{name: 'Animals', label_parent: '', sorting: 1}, {name: 'Duck', label_parent: 'Animals', sorting: 2}, {name: 'Dog', label_parent: 'Animals', sorting: 3}, {name: 'Cat', label_parent: 'Animals', sorting: 4}, {name: 'Vehicles', label_parent: '', sorting: 5}, {name: 'Bike', label_parent: 'Vehicles', sorting: 6}, {name: 'Car', label_parent: 'Vehicles', sorting: 7}, {name: 'Motorcycle', label_parent: 'Vehicles', sorting: 8}];
目前,我的“多输入”看起来像这样: Before
但是我需要它看起来像这样: After
我想在“ label parent”为空的任何地方设置标签...对于所有其他字段,我将label_parent设置为“ cat”或“ vehicles”,并且在这些标签中需要将它们显示为选择字段标签“类别”。有没有办法显示多重MultiInputTexts?
答案 0 :(得分:0)
所以,我自己找到了解决方案。
基本上,您想通过检查字符串来过滤掉所有标签并创建一个新数组
let animals = this.props.fields.filter(function (a) {
return a.label === 'Animals';
});
然后只需在您设置的地方创建每个MultiInput
options={animals}
我想你也可以在这里循环吗?