У меня есть страница с облегченным дизайном материала, используя вкладку макета, которая начинается с одной вкладки. У меня есть действие в меню, которое добавляет дополнительную вкладку. Код JavaScript добавляет требуемый тег и содержимое < a> к панели вкладок в заголовке <> и добавляет раздел <> и содержимое < div> в тег < main>.
Код JavaScript затем вызывает функцию componentHandler.upgradeElement() для родительских элементов двух дополнений.Добавить вкладку MDL программно
Внешне это работает, и новая вкладка отображается в заголовке, а новый контент < div> может отображаться, щелкнув вкладку. Однако щелчок по исходной вкладке показывает, что «обновление» было неполным. Два элемента в панели вкладок несколько отличаются, и оба имеют «активный» класс CSS.
<div class="mdl-layout__tab-bar-container">
<div class="mdl-layout__tab-bar mdl-js-ripple-effect is-casting-shadow mdl-js-ripple-effect--ignore-events" id="hdrTabs" data-upgraded=",MaterialRipple">
<a href="#scroll-tab-1" class="mdl-layout__tab is-active">Checklists<span class="mdl-layout__tab-ripple-container mdl-js-ripple-effect" data-upgraded=",MaterialRipple"><span class="mdl-ripple is-animating" style="width: 1475.13px; height: 1475.13px; transform: translate(-50%, -50%) translate(349px, 31px);"></span></span></a>
<a class="mdl-layout__tab is-active" href="#scroll-tab-2">New Checklist</a>
</div>
</div>
< Два раздела> элементы, как они должны быть, но раздел, посвященный закладке вновь введенной не имеет дисплей: атрибут CSS NONE поэтому содержание видно по содержанию вкладки оригинального.
Это единственное решение для управления кликами по программно добавленной вкладке из моей собственной базы кода?
Спасибо за указателем. Еще не полное решение, но я хорошо знаю, что на моей странице могут быть другие факторы (ошибки/сложности). Сначала я попробую «чистую» тестовую страницу и работаю оттуда. – Mike
Редактировать до: Я создал чистую страницу, но не смог правильно активировать недавно добавленную вкладку. Интересно, что тогда я создал страницу с двумя оригинальными вкладками, затем вызывается .downgradeElements() на панели вкладок, и это не повлияло на функцию двух вкладок. Возможно, функциональность обновления/понижения еще не включает поддержку вкладок? Я попробую реплицировать поддержку вкладок MDL из моего собственного кода (не нужно много) – Mike
Извините, я не понимаю вас. Вот измененный код (https://codepen.io/anon/pen/qZaggg), который добавляет вкладку через функцию addtab. –