我正在尝试使用react mui menu item设置选定的道具。我有一个多重选择菜单列表,其中有一个allValues
字段,单击该字段可切换所有菜单项的选择。那部分工作正常。代码如下:
<Select
multiple
value={selectedValues.map(klasse => klasse.id)}
onChange={(event) => handleChange(event.target.value, onChange, idToValues)}
input={<Input id="select-multiple-chip"/>}
classes={{root: classes.select}}
renderValue={selectedIds => (
<div className={classes.chips}>
{selectedIds.map(classId => (
<Chip
key={classId}
label={idToValues[classId] && idToValues[classId].classCode}
className={classes.chip}
onDelete={(event) => onChange(selectedValues.filter(class => class.id !== classId))}/>
))}
</div>
)}
MenuProps={MenuProps}
>
{!!allValues.length &&
<MenuItem value="allValues" selected={allValues.length === selectedValues.length}>
All classes
</MenuItem>
}
{allValues.map(class => (
<MenuItem key={class.id} value={class.id}>
{class.classCode}
</MenuItem>
))}
</Select>
在开发工具中,我看到allValues
和selectedValues
等于length
,但是selected
仍然是false
。那怎么可能?我该如何解决?
答案 0 :(得分:-1)
尝试添加()个括号,例如:
selected={(allValues.length === selectedValues.length)}