AngularJS: ui- bootstrap вложенная панель навигации при непрерывном нажатии (открыть и закрыть) на родительском аккордеоне, тогда дочерний аккордеон не отображается - PullRequest
0 голосов
/ 10 февраля 2020

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

. Я также пробую ниже советы, которые пытаются добавить href = '#' в тег привязки, но не работает, а также добавить data-toggle = "collapse" в тег привязки, но не работает.

[<uib-accordion ng-if="nav_search_text == '' || nav_search_text == undefined" close-others="oneAtTime"
        slimscroll="{height: '100%'}">
        <ul id="navigation" callbacks="callbacks" nav-collapse ripple>
          <li class="nav-loader-wrapper">
            <i class="fa fa-refresh faa-spin animated"></i>
          </li>
          <li ui-sref-active="active" style="display: none" ng-repeat="element in elements"
            ng-class="{'open':$state.includes(element.sref)}">
            <a ui-sref="{{::element.sref}}">
              <i class="fa-fw {{::element.icon}}"></i>
              <span class="nav-badge pull-right badge" ng-if="element.count">{{element.count}}</span>
              <span>{{::element.name}}<span class="label" ng-bind-html="::element.badgeHtml"></span></span>
            </a>
            <ul ng-if="::hasChildren(element)">
              <li ng-repeat="childElement in element.childElements" ui-sref-active="active">
                <a ui-sref="{{::childElement.sref}}">
                  <i class="fa-fw {{::childElement.icon}}"></i>
                  <span class="nav-badge badge-lvl-1 pull-right badge"
                    ng-if="childElement.count">{{childElement.count}}</span>{{::childElement.name}} <span class="label"
                    ng-bind-html="::childElement.badgeHtml"></span></a>
                <ul ng-if="::hasChildren(childElement)">
                  <li ng-repeat="gChildElement in childElement.gChildElements" ui-sref-active="active">
                    <a ui-sref="{{::gChildElement.sref}}">
                      <i class="fa-fw {{::gChildElement.icon}}"></i>
                      <span class="nav-badge badge-lvl-2 pull-right badge"
                        ng-if="gChildElement.count">{{gChildElement.count}}</span>{{::gChildElement.name}} <span
                        class="label" ng-bind-html="::gChildElement.badgeHtml"></span></a>
                    <ul ng-if="::hasChildren(gChildElement)">
                      <li ng-repeat="gGChildElement in gChildElement.gGChildElements" ui-sref-active="active">
                        <a ui-sref="{{::gGChildElement.sref}}">
                          <i class="fa-fw {{::gGChildElement.icon}}"></i>
                          <span class="nav-badge badge-lvl-3 pull-right badge"
                            ng-if="gGChildElement.count">{{gGChildElement.count}}</span>{{::gGChildElement.name}} <span
                            class="label" ng-bind-html="::gGChildElement.badgeHtml"></span></a>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li class="empty-nav-li">&nbsp;</li>
          <li class="empty-nav-li">&nbsp;</li>
          <li class="empty-nav-li">&nbsp;</li>
          <li class="empty-nav-li">&nbsp;</li>
        </ul>
      </uib-accordion>][1]

перед выпуском рисунка

Ожидаемый результат

После непрерывного щелчка по открытому дочернему аккордеону (показать стрелку вниз), но не показывать детям

выпуск рисунка

...