Force: запись Data не работает на быстрых действиях
Я использую "быстрое действие" на объекте "Задача", чтобы заменить старую кнопку JS. Я попытался заменить некоторые AJAX платные запросы "recordData" и использовать данные в контроллере. результат всегда нулевой.
Я пробовал оба - default и layoutType="FULL", те же результаты, что и ноль.
<aura:component implements="flexipage:availableForAllPageTypes,force:hasRecordId,force:lightningQuickAction" controller="wsc_checkResponse">
<aura:attribute name="record" type="Task" />
<force:recordData layoutType="FULL"
recordId="{!v.recordId}"
targetFields="{!v.record}"
recordUpdated="{!c.recordUpdate}" />
<aura:attribute name="taskWhoId" type="id"/>
<force:recordData aura:id="recordLoader"
recordId="{!v.recordId}"
fields="WhoId"
targetFields="{!v.taskWhoId}"
targetError="{!v.recordLoadError}"
recordUpdated="{!c.onTaskLoadingCompleted}"
/>
<div class="Record Details">
<lightning:card iconName="standard:account" >
<div class="slds-p-horizontal--small">
<p class="slds-text-heading--medium"><lightning:formattedPhone title="taskWhoId" value="{!v.record.Id}" /></p>
<p class="slds-text-heading--medium"><lightning:formattedPhone title="taskWhoId" value="{!v.record.taskWhoId}" /></p>
</div>
</lightning:card>
</div>
</aura:component>
ctrl.js
({
recordUpdate: function(component, event, helper){
console.log('record',component.get("v.record"));
},
onTaskLoadingCompleted : function(component, event, helper) {
var taskWhoId = component.get("v.taskWhoId");
console.log('taskWhoId',taskWhoId);
}
})
запись задачи или наконец WhoId ожидается, но нада.
1 ответ
Решение
Как и другие базовые компоненты Lightning, в том числе <lightning:recordEditForm>
, <force:recordData>
не поддерживает объекты Task или Event.
Список поддерживаемых объектов находится здесь, в Руководстве разработчика по компонентам Lightning Aura. Основное ограничение, похоже, исходит от UI API, который не поддерживает Task и Event.