2017-04-27 47 views
0

我正在開發一個Lightning應用程序,我正在動態創建組件。截至目前代碼工作正常,並沒有錯誤。但我的問題是我們如何從中獲得價值。如何從動態創建的閃電組件獲取值?

比方說,這是父控制器類,

clickMoreFilter: function(cmp, event, helper) { 
     $A.createComponent(
     "c:AccountDynamicForm", 
     { 
      "aura:id": "findableAuraId", 
      "label": "Press Me", 
      "press": cmp.getReference("c.clickCreateExpense") 
     }, 

     function(newButton, status, errorMessage){ 
      //Add the new button to the body array 
      if (status === "SUCCESS") { 
       var body = cmp.get("v.body"); 
       var newb = newButton.getElement('levels3'); 
       console.log('checkCmp'+newb); 
       body.push(newButton); 
       cmp.set("v.body", body); 
      } 
      else if (status === "INCOMPLETE") { 
       alert("No response from server or client is offline.") 
       // Show offline error 
      } 
       else if (status === "ERROR") { 
        alert("Error: " + errorMessage); 
        // Show error message 
       } 

     } 
    ); 
}, 

,這是我創造的活力的組成部分:

<div aria-labelledby="newexpenseform"> 
    <!-- CREATE NEW EXPENSE FORM --> 
    <br></br> 
    <form class="slds-form--inline"> 
     <div class="slds-form-element slds-is-required"> 
      <div class="slds-form-element__control"> 
       <ui:inputSelect aura:id="accIndustry" class="slds-select"/> 
      </div> 

     </div> 

     <div class="slds-form-element slds-is-required"> 
      <div class="slds-form-element__control"> 
       <ui:inputSelect aura:id="levels3" class="slds-input"> 
        <aura:iteration items="{!v.contactLevel1}" var="level"> 
         <ui:inputSelectOption text="{!level}" label="{!level}"/> 
        </aura:iteration> 
       </ui:inputSelect> 
      </div> 
     </div> 

     <div class="slds-form-element"> 
      <div class="slds-form-element__control" onfocusout="{!c.clickCreateExpense}"> 
       <ui:inputText aura:id="inputValue" 
           class="slds-input" 
           labelClass="slds-form-element__label" 
           /> 
      </div> 
     </div> 
    </form> 
    <!--/CREATE NEW EXPENSE FORM --> 
</div> 

現在如何從dyn獲取值amic組件到父組件? 請幫我解決這個問題。提前致謝。

回答

0

我認爲將這些問題發佈到SSE可能會更好。

另外我會建議使用閃電事件。 使用Lightning事件,您可以定義要在子組件內部觸發的事件,並在父組件中處理它,而不管子組件是否動態創建。

我已經描述了a event creation and subscribing in my post on my blog

相關問題