0

**我的照明 UI 中有两个组合框,其中包含一组选项。如果其他组合框中的选项已更改,我想重置一个组合框。

如何在 Salesforce Lightning UI 中动态重置组合框中的选项?**

4

2 回答 2

0

这是一个完整的自定义方法。闪电组件:comboboxExp.cmp

<aura:component>

<aura:attribute name="options" type="List" default="[
{'label': 'Apple', 'class': 'Apple', 'value': 'Apple'},
{'label': 'Microsoft', 'class': 'Microsoft', 'value': 'Microsoft'},
]"/>
<aura:attribute name="option2" type="List"/>

<lightning:combobox name="fonts" required="true" label="Manufacturer" placeholder="Choose a Manufacturer" options="{! v.options }" onchange="{! c.handleChange }"/>
<lightning:combobox name="fonts" required="true" label="Product" placeholder="Choose a Product" options="{! v.option2 }"/>

JS 控制器:comboboxExpController.js

({
handleChange: function (cmp, event, helper) {
    helper.populateValueToSecondOption(cmp, event);
}
})

JS 助手:comboboxExpHelper.js

({
populateValueToSecondOption : function(cmp, event) {
    var selectedOptionValue = event.getParam("value");
    if (selectedOptionValue == 'Apple') {
        this.createSecondOption('Apple', cmp, event);
    }
    else {
        this.createSecondOption('Microsoft', cmp, event);
    }
},

createSecondOption : function(value, cmp, event) {
    var options = [];
    if (value == 'Apple') {
        options.push(this.createObject('iphone', 'iphone', 'iphone'));
        options.push(this.createObject('macbook', 'macbook', 'macbook')); 
    }
    else {
        options.push(this.createObject('Windows OS', 'Windows OS', 'Windows OS'));
        options.push(this.createObject('Surface book', 'Surface book', 'Surface book'));
    }
    console.log(JSON.stringify(options));
    cmp.set('v.option2', options);
},

createObject : function(value, lebel, tempclass) {
    var obj = new Object();
    obj.label = lebel;
    obj.value = value;
    obj.class = tempclass;
    return obj;
}
})

希望它可以帮助你。谢谢你。

于 2018-07-29T16:58:59.853 回答
0

不确定 saleforce,但这里是如何使用 javascript 重置选择框。

function myFn(){
select_box = document.getElementById("myselectbox");
select_box.selectedIndex = -1;
}
<select id="myselectbox" onchange="myFn()">
<option id="">select</option>
<option id="1">One</option>
<option id="2">two</option>
<option id="3">three</option>
</select>

于 2018-07-29T12:45:25.460 回答