MD-вкладки не отображают прокрутку или нумерацию страниц - PullRequest
0 голосов
/ 20 сентября 2018

Я недавно обновил свою версию материала angularjs с 1.0.9 до 1.1.10.После изменения мои полосы прокрутки перестали отображаться по бокам панелей меню вкладок, когда происходит переполнение.Раньше это работало нормально.Теперь я вижу только следующее в Devtools, по какой-то причине этот флаг не работает для нумерации страниц.Пожалуйста, дайте мне знать, в чем может быть проблема здесь.

<!-- ngIf: $mdTabsCtrl.shouldPaginate -->

Это код, который у меня есть.

<div class="mainContentWrapper md-whiteframe-2dp" id="mainContentWrapper" style="overflow:auto;">
            <div class="tab-panel">
                <md-content class="md-padding">
                    <md-tabs md-selected="selectedIndex" md-border-bottom md-autoselect>
                        <md-tab>
                            <img class="dashboard" width="20" src="../../images/dashboard-icon1.png" />
                            <md-tooltip md-direction="right" ng-click="backToDashboard()">
                                Dashboard
                            </md-tooltip>
                        </md-tab>
                        <md-tab ng-repeat="tab in tabs"
                                ng-disabled="tab.disabled"
                                title="{{tab.desc}}" ng-if="$index>0">
                            {{tab.title}}
                            <md-tooltip>
                                {{tab.desc}}
                            </md-tooltip>
                        </md-tab>
                    </md-tabs>
                </md-content>
            </div>

1 Ответ

0 голосов
/ 21 сентября 2018

Произошло изменение в реализации с 1.0.9 до 1.1.10.в новой версии он использует MutationObserver для обнаружения любых изменений, чтобы решить, нужно ли показывать нумерацию страниц.

var mutationCallback = function() {
        ctrl.updatePagination();
        ctrl.updateInkBarStyles();
      };

      if('MutationObserver' in $window) {
        var config = {
          childList: true,
          subtree: true,
          // Per https://bugzilla.mozilla.org/show_bug.cgi?id=1138368, browsers will not fire
          // the childList mutation, once a <span> element's innerText changes.
          // The characterData of the <span> element will change.
          characterData: true
        };

        observer = new MutationObserver(mutationCallback);
        observer.observe(element[0], config);
        disconnect = observer.disconnect.bind(observer);
      } else {
        var debounced = $mdUtil.debounce(mutationCallback, 15, null, false);

        element.on('DOMSubtreeModified', debounced);
        disconnect = element.off.bind(element, 'DOMSubtreeModified', debounced);
      }

Ранее он использовал только $ mdUtil.debounce (mutationCallback, 100), что означает, что он обновлял флагикаждые 100 мс.по какой-то причине, когда я изменяю размер окна, мутация не запускается.Поэтому мне пришлось вручную изменять содержимое вкладки при изменении размера вкладок.Мне не нравится это исправление.Я что-то упустил?

...