Material UI 多选自动完成默认值

Material UI Autocomplete default value with multiple selection

我有一个具有 multiple selectionMaterial UI Autocomplete 组件,我需要一些默认值。

我的问题是checkbox selection。名称在文本字段中,但未被选为值。

这是我的组件:

<Autocomplete
    multiple
    className={classes.select}
    disableCloseOnSelect
    options={users}
    value={consistenceUser}
    onChange={handleUserChange}
    defaultChecked={consistenceUser}
    getOptionLabel={(option) => (option.name)}
    renderOption={(option, { selected }) => (
        <React.Fragment>
            <Checkbox
                icon={icon}
                checkedIcon={checkedIcon}
                style={{ marginRight: 8 }}
                checked={selected}
            />
            {option.name}
        </React.Fragment>
    )}
    renderTags={option => renderUserValues(userValue)}
    renderInput={(params) => (
        <TextField
            {...params}
            label={i18n.t("worklogModal.user")}
            variant="outlined"
        />
    )}
/>
<Typography className={classes.errorText}>
    {userError}
</Typography>

其中 consistenceUserarray of user objectsuserValuearray of user ids

这是在文本字段中呈现用户名的方法,效果很好,但是当我将它们添加为默认值时它们没有被选中。

const renderUserValues = selected => {
        if (selected) {
            let shownValues = users.filter(user => selected.includes(user.id)).map(user => { return user.name })
            return [...shownValues].join(", ")
        }
    }

我做错了什么吗?

感谢您的宝贵时间!

解决方案

可能听起来很简单而且是菜鸟,但我找到了解决方案并且非常简单。

我添加了 getOptionSelected={(option, value) => option.id === value.id},现在我的 default values 被选中并且它正常工作。

希望有一天能帮到别人!