嵌套的闪电光环迭代

时间:2019-06-20 06:55:40

标签: salesforce-lightning aura-framework

我有一个像这样的嵌套aura:iteration:

<aura:iteration items="{!v.results}" var="res">                  
    <tr class="slds-hint-parent">
        <aura:iteration items="{!v.ColumnsNameArr}" var="colName">
            <td>
                <div class="slds-truncate" >
                    <a href="javascript:void(0);">{!res[colName]}}</a> 
                </div>
            </td>
        </aura:iteration>                    
    </tr>
</aura:iteration>

如何编写正确的{!res [colName]}?可以在闪电中做这样的事情吗?

2 个答案:

答案 0 :(得分:1)

您似乎想迭代res属性,对我来说,类型为Map。在Lightning Aura中,不可能在Map(Apex)/ Object(Javascript)上进行迭代。

您可以采取的解决方案是将res映射转换为Array(Java语言)类型,或者在Apex中将其转换为List类型。

在Lightning Aura中,可以迭代Array

那看起来如何:


{
  process: function() {
    var res = { a: 1, b: 2};
    var resArray = [];

    for (var key in res) {
      resArray.push({ 
        key: key, 
        value: res[key] 
      });
    }

    // now, from here on you can use the 'resArray' to iterate in your Aura component

  }
}

答案 1 :(得分:0)

有可能。在下一级使用迭代变量。 我认为这会起作用...

<aura:iteration items="{!v.results}" var="res">                  
<tr class="slds-hint-parent">
    <aura:iteration items="{!res.ColumnsNameArr}" var="colName">
        <td>
            <div class="slds-truncate" >
                <a href="javascript:void(0);">{!colName}}</a> 
            </div>
        </td>
    </aura:iteration>                    
</tr>