Salesforce Lightning 动态初始化选项列表

1.通过集合初始化方式

  • component中声明一个属性,并在选项列表控件使用
<aura:attribute name="departs1" type="Department__c[]" />
<lightning:select aura:id="D1" label="事业部" class="dynamic" value="{!v.d1Selected}" onchange="{!c.d1Change}">
            <option value="">请选择</option>
            <aura:iteration items="{!v.departs1}" var="dep">
                <option value="{!dep.Id}" label="{!dep.Name}"></option>
            </aura:iteration>
        </lightning:select>
  • JS初始化时从后台获取集合的值,获取后赋值给attribute

js Controller:

init: function(component, event, helper) {
        //初始化事业部的值
        var depart_action = component.get("c.getD1");
        depart_action.setCallback(this, function(response) {
            if (response.getState() == "SUCCESS") {
                var departs = response.getReturnValue();
                if (departs != null && departs.length > 0) {
                    component.set("v.departs1", departs);
                    console.log('Get Department1 SUCCESS!!!');
                } else {
                    console.log('Get Department1 Failed!!!');
                }
            } else {
                console.log('Get Department1 Failed: ' + response.getState());
            }
        });
        $A.enqueueAction(depart_action);
 }

apex Controller:

//获取D1事业部
    @AuraEnabled
    public static List<Department__c> getD1(){
        return [select Id,Name,Parent_Code__c from Department__c where Is_Active__c = true];
    } 

2.通过JS添加option方式

参考: https://salesforce.stackexchange.com/questions/133455/how-can-we-make-uiinputselect-in-lightning-to-dynamically-get-values-from-an-ob

component 代码:

<ui:inputSelect label="Status" class="dynamic" aura:id="InputSelectDynamic" value="{!v.leadObj.Status}" required="true"/> 

js controller:

doInit : function(component, event, helper) {
    var action = component.get("c.getLeadStatus");
    var inputsel = component.find("InputSelectDynamic");
    var opts=[];
    action.setCallback(this, function(a) {
        for(var i=0;i< a.getReturnValue().length;i++){
            opts.push({"class": "optionClass", label: a.getReturnValue()[i], value: a.getReturnValue()[i]});
        }
        inputsel.set("v.options", opts);

    });
    $A.enqueueAction(action); 
}

apex:controller:

public static List<String> getLeadStatus(){
List<String> options = new List<String>();
Schema.DescribeFieldResult fieldResult = lead.status.getDescribe();
List<Schema.PicklistEntry> ple = fieldResult.getPicklistValues();
for (Schema.PicklistEntry f: ple) {
    options.add(f.getLabel());
}

return options;}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
检查闪电的应用 Salesforce Lightning Inspector会打开并改善Lightning Component的开发,使您可以访问有关正在运行的应用程序和组件的大量数据。 使用Salesforce Lightning Inspector,您可以:-轻松检查和导航组件的结构-通过查看组件创建时间的图表确定性能瓶颈-通过监视和修改响应来更快地调试服务器交互-导航组件树,检查组件和它们相关的DOM元素-跟踪事件触发和处理顺序更新2019年3月19日添加了Lightning样式表预览器更新2018年9月7日漏洞修复更新2016年12月27日版本1.0.1.2改进和新功能:``操作''选项卡显示了触发操作的组件。 Chaos Manager的改进Lightning Inspector利用SLDS事务网格:-包括自定义事务-更好的时序测量(自页面加载以来现在显示ms)-禁用操作的服务器性能时序(单击操作暂时不执行任何操作)-固定的时间轴大小和颜色。 -图形栏的工具提示以显示开始和结束时间。 现在,Lightning Out支持LI可以在具有Aura的每个页面上使用。 在启动Lightning Inspector时仅对页面进行检测漏洞修复更新2016年10月4日获取更多产品领域的组件说明,以图形方式查看事务,查看事件调用堆栈,并获得更多语言的Salesforce Lightning Inspector DevTools扩展。 更新2015年6月30日v1.0.0.6错误修复。 v1.0.0.5:更多错误修复更新2016年6月8日v1.0.0.4:这主要是一个错误修复版本,但添加了一些有用的功能。 *应显示事件处理程序*组件视图中的冗余信息较少*在更多位置上双击组件可在组件树中导航*组件视图中将显示其他值提供者(有助于迭代,如果有的话)更新2017年10月11日*修复了序列化组件树时的错误*新的Faster组件树*对组件树的已实现搜索(Ctrl + F) 支持语言:Deutsch,English,Français,español,italiano,日本語
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值