Не удается получить массив объектов в функцию контроллера, вызванную из компонента Aura - PullRequest
1 голос
/ 22 сентября 2019

Спасибо всем за помощь!Я просто застрял, я не знаю, была ли это проблема с Salesforce или

Я делаю что-то не так !!!

Вот сценарий, я включил встроенное редактирование на карте икогда пользователь изменяет значение количества, компонент вызывает функцию контроллера JS

Он не получает список, который я передал в качестве параметра, его вывод «Ничто» не прикреплен ниже,

Интересный факт

  1. Но я вызвал ту же функцию откуда-то еще, например, сделать флажок, и при изменении назвал то же самое, я получаю список Array, переданный как параметр

  2. Я не получил список, когда вызвал его от другого, кроме того, что я получил все значения с помощью component.get ()

Атрибуты компонента Aura

<aura:attribute name="item" type="Object" required="true"></aura:attribute>
<aura:attribute name="title" type="String" required="true"></aura:attribute>
<aura:attribute name="bid" type="Object[]" required="true"></aura:attribute>
<aura:attribute name="box1" type="Boolean" default="false" />
<aura:attribute name="categoriesSum" type="Object" required="true"></aura:attribute>
<aura:attribute name="quantityEditMode" type="boolean" default="false"></aura:attribute>

Вызов кода компонента с InputNumber Не работает

   <ui:inputNumber class="slds-input " labelClass="slds-form- 
   element__label slds-form-element__label_edit slds-no-flex" 
   change ="{!c.onQuantityChange}" 
   required="true" value=" 
   {!v.item.Quantity__c}" />

Вызов кода компонента с CheckBox Работает

<ui:inputCheckbox aura:id="checkbox1" value="v2" change="{!c.onQuantityChange}"/>

JS Controller

  onQuantityChange : function(component, event, helper){
    console.log('----Item----'+component.get('v.item')); 
    console.log('----title---'+ component.get('v.title'));
    console.log('----Bid---'+ component.get('v.bid'));
    console.log('----Box---'+ component.get('v.box1'));
    console.log('---categoriesSum--component.get('v.categoriesSum'));
    console.log('----quantityEditMode---'+ component.get('v.quantityEditMode'));

   }

Выход с InputNumber enter image description here

Выходной сигнал с флажком enter image description here

если вам нужно больше объяснений, пожалуйста, дайте мне знать, что я застрял здесь почти на 7 часов, и да, я также попробовал вспомогательный класс, это тот же сценарий

1 Ответ

1 голос
/ 23 сентября 2019

Вы не можете напрямую изменить значение поля на объекте, используя

value=" 
   {!v.item.Quantity__c}"

Вместо этого попробуйте сохранить его в атрибуте типа v2 (вы сделали это на флажке)

изменение от пользовательского интерфейса: inputNumber сделает его контроллером.

В основном это:

<aura:attribute name="v2" type="Integer"/>
<ui:inputNumber class="slds-input " labelClass="slds-form- 
   element__label slds-form-element__label_edit slds-no-flex" 
   change ="{!c.onQuantityChange}" 
   required="true" value=" 
   {!v.v2}" />

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...