Бустреп 5 Аккордеон не складывается

#javascript #css #typescript #bootstrap-5

Вопрос:

Я использую загрузочный аккордеон в своем приложении stenciljs следующим образом:

 lt;div class="ba-accordion"gt;  lt;div class="accordion-item"gt;  lt;div class="accordion-header" id="kpf-accordion-nachrichtenverlauf-heading"gt;  lt;button class="accordion-button" id="accordion-button"  type="button"  data-bs-toggle="collapse"  data-bs-target="#kpf-accordion-nachrichtenverlauf-panel"  aria-expanded="false"  aria-controls="kpf-accordion-nachrichtenverlauf-panel" onClick={()=gt;{this._nachrichtenVerlaufPanelClickHandler()}}  gt;  lt;p class="kpf-nachrichtenverlauf"gt;Message Historylt;/pgt;  lt;/buttongt;  lt;/divgt;  lt;div id="kpf-accordion-nachrichtenverlauf-panel"  class="accordion-collapse collapse"  aria-labelledby="kpf-accordion-nachrichtenverlauf-heading"  gt;  lt;div class="accordion-body"gt;    lt;/divgt;  lt;/divgt;  lt;/divgt;  lt;/divgt;  

Он работает правильно, когда я тестирую локально с помощью npm start, но когда я запускаю приложение на сервере nginx, оно открывается один раз и не закрывается. Анализируя элементы в браузере, я вижу, что в элементе панели div с идентификатором=»kpf-аккордеон-начрихтенверлауф-панель» всегда отображается класс, и если напрямую удалить его в браузере, он закроется, но если я сделаю это последовательно, ничего не произойдет, и аккордеон останется открытым. Ниже приведен код обработчика щелчков Javascript:

 private _nachrichtenVerlaufPanelClickHandler() {   var nachrichtenVerlaufHeading = document.getElementById('accordion-button');  var panel = document.getElementById('kpf-accordion-nachrichtenverlauf-panel')     if(nachrichtenVerlaufHeading.getAttribute('aria-expanded') === "true") {  console.log("INSIDE THE IF");  panel.classList.remove('show');  } }  

Такое же поведение наблюдается в Edge и Chrome. Как я могу это исправить?