Материал Компонент Web - MDCTab - Как установить активную вкладку в JavaScript - PullRequest
0 голосов
/ 08 октября 2018

У меня есть две вкладки (TAB1 и TAB2).Активная вкладка - TAB1 (mdc-tab - активная).Я хочу установить активную вкладку на TAB2, используя javascript.

Спасибо.

Мой код:

   <div class='mdc-tab-bar' role='tablist' data-mdc-auto-init='MDCTabBar'>
        <div class='mdc-tab-scroller'>
            <div class='mdc-tab-scroller__scroll-area mdc-tab-scroller__scroll-area--scroll'>
                <div class='mdc-tab-scroller__scroll-content'>
                    <button class='mdc-tab mdc-tab--stacked mdc-tab--active' role='tab' aria-selected='false' tabindex='-1'>
                        <span class='mdc-tab__content'>
                            <span class='mdc-tab__icon mdc-tab__icon-fa fa fa-comments fa-2x' aria-hidden='true'></span>
                            <span class='mdc-tab__text-label'>TAB1</span></span>
                        <span class='mdc-tab-indicator mdc-tab-indicator--active'>
                            <span class='mdc-tab-indicator__content mdc-tab-indicator__content--underline'></span>                                  
                        </span>
                        <span class='mdc-tab__ripple'></span>                               
                    </button>

                    <button class='mdc-tab mdc-tab--stacked b_mensajes_tabs_contactos' role='tab' aria-selected='true' tabindex='1'>
                        <span class='mdc-tab__content'>
                            <span class='mdc-tab__icon mdc-tab__icon-fa fa fa-user-circle fa-2x' aria-hidden='true'></span>
                            <span class='mdc-tab__text-label'>TAB2</span></span>
                        <span class='mdc-tab-indicator'>
                            <span class='mdc-tab-indicator__content mdc-tab-indicator__content--underline'></span>                                  
                        </span>
                        <span class='mdc-tab__ripple'></span>                               
                    </button>
                </div>
            </div>
        </div>
    </div>
.....
<script>
window.mdc.autoInit ();
</script>

Я пользуюсь самой последней версией материала-компонентов-сети

https://unpkg.com/material-components-web@latest/dist/material-components-web.css

https://unpkg.com/material-components-web@latest/dist/material-components-web.js

Ответы [ 2 ]

0 голосов
/ 08 октября 2018
   <div id='idofdiv' class='mdc-tab-bar' role='tablist' data-mdc-auto-init='MDCTabBar'>
.....
  </div>

window.mdc.autoInit();
var element = document.querySelector('#idofdiv');
element.MDCTabBar.activateTab(1);

Спасибо, икку

0 голосов
/ 08 октября 2018

Вы можете использовать функцию activateTab для активации вкладки.Для этого вам нужен верхний экземпляр бара.В документации по mdc-auto-init говорится, что вы можете получить экземпляр компонента через элемент:

После вызова mdc.autoInit() вы можете получить доступ к экземпляру компонента через MDCTextField свойство этого элемента.

В вашем случае результат будет следующим:

var element = document.querySelector('[data-mdc-auto-init="MDCTabBar"]');
elem.MDCTabBar.activateTab(1);
...