【发布时间】:2016-03-11 16:36:34
【问题描述】:
有两点需要考虑。
- 必须为 MDL 组件元素调用upgradeElement。在您的情况下,类为
mdl-js-tabs的div。 也许这就是你正在做的(JavaScript 代码然后为两个添加的父元素调用 componentHandler.upgradeElement() 函数。) - 由于
mdl-js-tabs的div 已经注册,您需要在调用upgradeElement 之前调用downgradeElements。
因此应该执行以下操作:
var jstabs = document.getElement /with mdl-js-tabs/;
componentHandler.downgradeElements(jstabs);
componentHandler.upgradeElement(jstabs);
【讨论】:
-
感谢您的指点。还不是一个完整的解决方案,但我很清楚我的页面上可能还有其他因素(错误/复杂性)妨碍了我。我会先尝试一个“干净”的测试页面,然后从那里开始工作。
-
编辑到上面:我建立了一个干净的页面,但未能正确激活新添加的选项卡。有趣的是,然后我创建了一个带有两个原始选项卡的页面,然后在选项卡栏上调用了 .downgradeElements() ,这对两个选项卡的功能没有影响。也许升级/降级功能还不包括选项卡支持?我将尝试从我自己的代码中复制 MDL 选项卡支持(不需要太多)
-
对不起,我没听懂。这是一个修改后的codepen,它通过 addtab 函数添加了一个选项卡。
-
官方文档指出,每个标签栏只能有一个“处于活动状态”的链接和面板。也许你有两个的事实引起了问题?