Вам не нужно ничего делать с опорой selected
на MenuItem
- она устанавливается автоматически. Вам нужно, чтобы значение MenuItem
соответствовало значению в массиве значений Select
.
В настоящее время вы используете объекты в качестве значений. Material-UI поддерживает использование объектов, но проверка на равенство будет работать, только если вы используете точно такие же объекты (===
должно быть true) для выбранных значений и значений MenuItem
.
В вашем случае у вас есть два набора объектов - один для выбранных групп (передается как значение Select
) и один для полного набора групп (используется для значений MenuItem
). Хотя два набора объектов содержат совпадающую информацию, ни один из объектов из полного набора не будет равен (===
) ни одному из объектов в выбранных группах.
Я рекомендую использовать только "id" для значений. Затем, чтобы получить Chip
s для выбранных вами значений, вам просто нужно найти группу по ее идентификатору.
Вот рабочий пример, основанный на вашей песочнице:
