Reputation: 444
Problem is with this line in JS code inside result function- return this.wirestoredrecords.data.LastName;
I am trying to get the Contact Fields Values using Getter and display in the HTML. PLS HELP.
**JS CODE:**
import { api, LightningElement, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
import Name from '@salesforce/schema/Contact.Name';
import LastName from '@salesforce/schema/Contact.LastName';
import Phone from '@salesforce/schema/Contact.Phone';
const contactfields = [Name, LastName, Phone];
export default class WireGetRecords extends LightningElement {
@api recordId;
datavalue;
@wire(getRecord, { recordId: '$recordId', fields: contactfields })
wirestoredrecords;
get result(){
return this.wirestoredrecords.data.LastName;
}
}
**HTML CODE:**
<template>
<lightning-card>
<div>{recordId}</div>
<div>{result}</div>
<div></div>
</lightning-card>
</template>```
Upvotes: 0
Views: 8723
Reputation: 19622
@wire
is called.@wire
to finish, it'll be done when it'll be done, asynchronous. Your component carries on.@wire
didn't return yet. The code tries to do null.data
and throws because null/undefined doesn't have fields.Put some null checking in the getter or use the ?.
operator
Upvotes: 1