【发布时间】:2017-02-09 23:04:16
【问题描述】:
我的闪电组件设置如下:
<aura:component >
<aura:attribute name="opts" type="List" default="['Tyler Dahle','Molly Demouser','Penny Demouser', 'Ted Demouser']"/>
<lightning:tabset aura:id="tabBar" variant="scoped" selectedTabId="none">
<lightning:tab aura:id="ownerTab">
<aura:set attribute="label">
<lightning:icon iconName="utility:groups"/>
</aura:set>
<lightning:select name="users" label="Select Users/Groups/Resources:">
<aura:iteration items="{!v.opts}" var="option">
<option>{!option}</option>
</aura:iteration>
</lightning:select>
<lightning:input type="checkbox" label="Enable" name="Enable User Filter" checked="true"/>
<lightning:button class="closeUser" variant="base" iconName="utility:close" onclick="{!c.closeTabContent}"/>
</lightning:tab>
</lightning:tabset>
</aura:component>
然后我在一个 visualforce 页面中进行初始化,例如:
$Lightning.use("c:filterBar", function(){
$Lightning.createComponent("c:userTab", {label: ""}, "filterTabStrip");
});
它会显示出来,我可以点击我的标签和所有内容。但是,我的标签内容中显示了带有“x”的按钮。当用户点击这个时,我希望标签内容再次关闭,因为现在,一旦你打开一个标签,一个标签总是打开的。
我尝试在控制器中使用 component.find('ownerTab'),但返回未定义。 component.find('tabBar') 返回一个标签栏,然后我可以在我的标签栏上执行 .get('selectedTabId') 并返回正确的 Id,但我不知道该怎么做才能找到标签,然后在单击“x”时将其类设置为“slds-tabs--scoped__content slds-hide”(我刚刚列出的那个类是给 html 页面中内容的类,其中“隐藏”更改为“显示”时显示内容)。
所以我很想知道如何从控制器访问选项卡(不是选项卡集,而是选项卡),以及如何关闭内容。一旦我弄清楚如何访问选项卡,我将尝试更改它的类,但我有一种行不通的感觉.....
感谢您的帮助!
【问题讨论】:
标签: javascript controller tabs salesforce-lightning