Мой вопрос связан с Angular и Typescript. Моя проблема довольно сложная. Я создал выпадающее меню с 3 пунктами. Но я не создаю его, используя select
тег HTML. Я использую инструментарий моей компании. Это просто оболочка вокруг primeng
компонентов с нашим шрифтом и нашей цветовой схемой. Они называют это PLK toolkit
. В их коде есть ошибка. Он не очищает ранее выбранный элемент. Вот их пример выпадающего кода (я чувствую, что можно поделиться кодом, потому что это всего лишь несколько строк простого html и написанного мной тоже):
Примечание: В код ниже plk-dropdown
похож на тег select
, а plk-option
похож на тег option
. В этом нет ничего особенного.
<plk-dropdown [(ngModel)]="fruit" name="fruit">
<plk-option [value]="'apple'">Apple</plk-option>
<plk-option [value]="'pear'">Pear</plk-option>
<plk-option [value]="'melon'">Melon</plk-option>
</plk-dropdown>
Итак, когда я нажимаю на него в первый раз, это хорошо. Но после первого щелчка он продолжает выбирать другие параметры наряду с предыдущими. Я посмотрел на их код:
выпадающий. js
DropDownComponent.prototype.writeValue = function (value) {
if (this.options) {
this.selectOptionByValue(value);
}
};
и исправил эту ошибку, добавив 1 строку кода:
DropDownComponent.prototype.writeValue = function (value) {
if (this.options) {
this.clearSelectedOptions(); // THIS I ADDED
this.selectOptionByValue(value);
}
};
Теперь компонент работает, но проблема в том, что я не могу внести изменения в их файл js
. Во-первых, я не должен этого делать. Во-вторых, если в будущем мы обновим наши репозитории, эта ошибка вернется.
Есть ли способ исправить это с помощью моего машинописного кода. Я не могу реализовать jquery
между ними. Я попробовал это:
Как очистить все выбранные элементы на входе SELECT, используя jQuery?
Пожалуйста, помогите мне. Я заблокирован из-за этого. Мне действительно нужна помощь.