我试图使一个选择列表依赖于另一个控制器选择列表:子类型依赖的选择列表,我成功地做到了这一点,我把它放在一个闪电组件中
<ui:inputSelect aura:id="conType" label="Type" class="slds-select" change="{!c.onControllerFieldChange}" value="{!v.TypeV}">
<ui:inputSelect aura:id="conSubtype" label="Sub Type" value="{!v.SubTypeV}" disabled="{!v.isDependentDisable}" class="slds-select" /> 我把这个组件从另一个闪电组件
DependentSubtype是子组件TypeV子组件属性,用于初始化控制器选择列表(类型)、SubTypeV子组件属性的值,以初始化从属选择列表(SubType)的值。
对于控制器选择列表(类型),初始化工作,但是对于依赖的泡菜(子类型),它没有预先感谢
发布于 2018-07-30 14:48:12
看来您的方法是正确的,,但是,很难从这两行代码中指出问题。下面是一种依赖选择列表的方法,
// controller.js
({
doInit : function(component, event, helper) {
helper.loadOption1(component, event);
},
changeSecondPicklist : function(component, event, helper) {
helper.populateOption2(component, event);
}
})
// helper.js
({
loadOption1 : function(component, event) {
var option = [];
option.push('Type1.1');
option.push('Type1.2');
option.push('Type1.3');
component.set('v.option1', option);
},
populateOption2 : function(component, event) {
var value = event.getParam('value');
var option = [];
if (value == 'Type1.1') {
option.push('SubType1.1');
option.push('SubType1.2');
option.push('SubType1.3');
}
else if (value == 'Type1.2') {
option.push('SubType2.1');
option.push('SubType2.2');
option.push('SubType2.3');
}
else {
option.push('SubType3.1');
option.push('SubType3.2');
option.push('SubType3.3');
}
component.set('v.option2', option);
}
})<!-- lightning component -->
<aura:component>
<aura:attribute name="option1" type="String[]" />
<aura:attribute name="option2" type="String[]" />
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
<lightning:select name="select1" label="Type" required="true" onchange="{!c.changeSecondPicklist}">
<option value="">choose one...</option>
<aura:iteration items="{!v.option1}" var="item">
<option value="{!item}">{!item}</option>
</aura:iteration>
</lightning:select>
<lightning:select name="select2" label="SubType" required="true">
<option value="">choose one...</option>
<aura:iteration items="{!v.option2}" var="item">
<option value="{!item}">{!item}</option>
</aura:iteration>
</lightning:select>
</aura:component>
这里我使用了闪电标记,因为Salesforce将停止对ui标记的支持。逻辑是 of 事件的第一个选择列表填充依赖的选择列表。
https://stackoverflow.com/questions/50584594
复制相似问题