Материал Компонент Web - MDCTab - Как установить активную вкладку в JavaScript
У меня есть две вкладки (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 ответа
Вы можете использовать activateTab
функция для активации вкладки. Для этого вам нужен верхний экземпляр бара. Документация по mdc-auto-init
утверждает, что вы можете получить экземпляр компонента через элемент:
однажды
mdc.autoInit()
вызывается, вы можете получить доступ к экземпляру компонента черезMDCTextField
свойство на этот элемент.
В вашем случае результат выглядит следующим образом:
var element = document.querySelector('[data-mdc-auto-init="MDCTabBar"]');
elem.MDCTabBar.activateTab(1);
<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);
Спасибо икку