我有一个像
这样的DisabledInput<DisabledInput source="values" />
但我想用状态变量来提供这个字段。因为此状态变量可以随用户交互而改变。更确切地说,在页面上,有一个列表框,当用户向此列表框添加新值时,&#34;值&#34;状态变量改变如
&#34; item1,item2,item3 ...&#34;我想把这个状态变量作为数据提供给DisabledInput
this.state.values
我不知道该怎么做。也许有一种方式如下,但我无法做到这一点
<DisabledInput source="values" record={this.state.values} />
有可能吗?
答案 0 :(得分:0)
我使用了ArrayInput,如下所示。 我以前没有意识到这个组件。
<SelectInput source='type'
choices={[
{ name: 'String', id: 'string' },
{ name: 'Enum', id: 'enum' },
{ name: 'Decimal', id: 'decimal' }
]}
onChange={event => {
const type = Object.values(event).slice(0, -1).join('');
this.setState({
listEditorVisible: type === 'enum',
regexEditorVisible: type === 'string',
decimalEditorVisible: type === 'decimal'
});
}}
/>
{this.state.listEditorVisible ?
<ArrayInput source='values'>
<SimpleFormIterator>
<TextInput source='name' />
</SimpleFormIterator>
</ArrayInput>
:
null}
{this.state.decimalEditorVisible ?
<div>
<NumberInput source="min" /><br />
<NumberInput source="max" /><br />
<NumberInput source="res" /><br />
<TextInput source="unit" />
</div>
:
null}