I have a Lightning web component that is being called from a quick action custom button from a custom object record page. When the component is loaded, I need to retrieve the record so I can get a field value from it.
This answer says to use a wire with renderedCallback. I've tried it but the wire is not retrieving the record in the callback.
In my console logs, I see the correct recordId value in the callback, but the wired platoonEvent
is empty and the data
is undefined:
in callback
recordId: "a1l0m000000IHxOAAW"
Platoon event: {}
Platoon event data: undefined
I've tried connectedCallback but that doesn't work either.
Is there an issue with the fact that this LWC is wrapped in an aura component because I'm using a quick action custom button?
Javascript:
import { LightningElement, track, api, wire } from 'lwc';
import { createRecord, getRecord, getFieldValue, updateRecord } from 'lightning/uiRecordApi';
import OCCASION_OBJECT from '@salesforce/schema/Occasion__c';
import OCCASION_PLATOONID from '@salesforce/schema/Occasion__c.Service_Platoon__c';
export default class BatchRegistration extends LightningElement {
@api recordId;
platoonId;
// Get the platoon event record so we can get the platoon ID field.
@wire(getRecord, { recordId: '$recordId', fields: [OCCASION_PLATOONID] })
platoonEvent;
/* Functions start here */
// Initialize
renderedCallback() {
console.log('in callback');
console.log('recordId: ' + JSON.stringify(this.recordId));
console.log('Platoon event: ' + JSON.stringify(this.platoonEvent));
console.log('Platoon event data: ' + JSON.stringify(this.platoonEvent.data));
this.platoonId = getFieldValue(this.platoonEvent.data, OCCASION_PLATOONID);
}
Note: I've also tried this but it doesn't work either:
@wire(getRecord, { recordId: '$recordId', fields: ['Occasion__c.Service_Platoon__c'] })
platoonEvent;