Javascript 如何使用redux表单将初始值传递到材料UI multiple Select芯片?
我正在尝试使用redux表单和材质ui创建多个选择控件。实际上,我使用了Javascript 如何使用redux表单将初始值传递到材料UI multiple Select芯片?,javascript,reactjs,material-ui,redux-form,Javascript,Reactjs,Material Ui,Redux Form,我正在尝试使用redux表单和材质ui创建多个选择控件。实际上,我使用了redux表单材质uiwrapper,只是无法将其添加为标记。 以下是我代码的一部分: <FormControl fullWidth> <InputLabel>Shops</InputLabel> <Field name="shops" component={Select} fullWidth
redux表单材质ui
wrapper,只是无法将其添加为标记。
以下是我代码的一部分:
<FormControl fullWidth>
<InputLabel>Shops</InputLabel>
<Field
name="shops" component={Select} fullWidth
multiple format={(value) => (Array.isArray(value) ? value : [])}
renderValue={(selected) => (
<div className={classes.chips}>
{selected.map((value) => <Chip key={value.id} label={value.name} className={classes.chip} />)}
</div>
)}
>
{allShops.map((shop) => <MenuItem key={shop.id} value={shop}>{shop.name}</MenuItem>)}
</Field>
</FormControl>
商店
(Array.isArray(值)?值:[])}
renderValue={(选定)=>(
{选定的.map((值)=>)}
)}
>
{allShops.map((shop)=>{shop.name})
其中,Select
是一个redux表单物料界面
Select
,allShops
是一个作为道具从外部组件传递的数组。
当这些东西呈现时,Everythyng似乎很好-我已经正确呈现了与我的
初始值相对应的芯片
,但由于某些原因,菜单(或DropdownList或任何呈现菜单项的东西)仍然没有被这些值触及。如果我尝试选择一些项目并取消选择,芯片会不断添加和删除,菜单项目会变得“选中”和“取消选中”,但这只发生在“新”商店。我怎样才能使这项工作以正确的方式进行?我不仅需要根据初始值正确渲染芯片,还需要这些菜单项,这样我就可以在表单渲染后取消选择选定的值。有人能帮我吗?非常感谢。我看到您正在格式化这些值。格式只拾取值。如果重新格式化或删除格式,可能会得到所需的输出