Ошибка MDCSelect при изменении значения — Ошибка неперехваченного типа: Не удается прочитать свойства неопределенного значения (чтение «длина»)

#asp.net-core #material-design

Вопрос:

У меня проблема с компонентом MDCSelect. У меня есть два поля выбора. Когда пользователь выбирает элемент из первого поля выбора, вызывается функция ajax и перерисовывает второе поле выбора. Пока все идет хорошо.

Но когда пользователь выбирает один элемент из второго поля выбора (перерисованное поле), возникает проблема и возникает исключение. Исключение приведено ниже:

 Uncaught TypeError: Cannot read properties of undefined (reading 'length')  at MDCSelectFoundation.layout (VM2888 foundation.js:324)  at MDCSelectFoundation.handleFocus (VM2888 foundation.js:399)  at HTMLDivElement.handleFocus (VM2873 component.js:149)  at Object.restoreFocus (VM2863 component.js:210)  at MDCMenuSurfaceFoundation.maybeRestoreFocus (VM2866 foundation.js:661)  at MDCMenuSurfaceFoundation.close (VM2866 foundation.js:355)  at MDCMenuSurface.close (VM2863 component.js:109)  at MDCMenu.set [as open] (VM2861 component.js:131)  at Object.closeMenu (VM2873 component.js:449)  at MDCSelectFoundation.setSelectedIndex (VM2888 foundation.js:242)  Uncaught TypeError: Cannot read properties of undefined (reading 'length')  at MDCSelectFoundation.layout (VM2888 foundation.js:324)  at MDCSelectFoundation.handleChange (VM2888 foundation.js:378)  at MDCSelectFoundation.setSelectedIndex (VM2888 foundation.js:246)  at MDCSelectFoundation.handleMenuItemAction (VM2888 foundation.js:388)  at HTMLDivElement.handleMenuItemAction (VM2873 component.js:167)  at MDCMenu.MDCComponent.emit (VM2976 component.js:120)  at Object.notifySelected (VM2861 component.js:386)  at MDCMenuFoundation.handleItemAction (VM2868 foundation.js:154)  at HTMLDivElement.handleItemAction_ (VM2861 component.js:98)  at MDCList.MDCComponent.emit (VM2976 component.js:120)  

Чтобы перерисовать второе поле выбора, я реализовал приведенный ниже код (упрощенный код).:

 let arrBuilder = []; arrBuilder.push("lt;li class='mdc-list-item mdc-ripple-upgraded' data-value='", value, "' tabindex='", tabIndex, "'gt;"); arrBuilder.push("lt;span class='mdc-list-item__ripple'gt;lt;/spangt;"); arrBuilder.push("lt;span class='mdc-list-item__text'gt;", description, "lt;/spangt;"); arrBuilder.push("lt;/ligt;"); const li = arrBuilder.join("");  ulElement.append(li);  const mdcSelect = new MDCSelect(document.querySelector('#secondSelect')); mdcSelect.layoutOptions();  

Как написано выше, когда пользователь выбирает один элемент во втором поле выбора, то есть при изменении выбранного значения, возникает исключение.

Я использую material design для Интернета, версия 10 (но также пробовал с 13), на компьютере с Windows.