salesforce / lwc

⚡️ LWC - A Blazing Fast, Enterprise-Grade Web Components Foundation
https://lwc.dev
Other
1.64k stars 393 forks source link

Lightning-record-edit-form onLoad function firing incorrectly #4863

Open letti2017 opened 1 week ago

letti2017 commented 1 week ago

Description

Steps to Reproduce

<template>
    <lightning-record-edit-form
        object-api-name={objectApiName}
        record-id={recordId}
        record-type-id={recordTypeId}
        onload={onLoad}
    >
        <lightning-input-field
            field-name={fieldName}
            data-full-path-name={fieldDatabasePath}
        ></lightning-input-field>
    </lightning-record-edit-form>
</template>
onLoad(event) {
    const record = event.detail.record;
    console.log(record.fields);
}

Expected Results

onLoad function in the above example only fires once and contains the most up-to-date information on the record provided in the html.

Actual Results

onLoad is fired inconsistently and may not contain the most up-to-date information, which can cause issues when using the event.detail.record to run specific rendering rules based on the values provided for the record.

Browsers Affected

All Browsers, all versions.

Version

wjhsf commented 1 week ago

This is an issue with a Lightning Component, not the LWC framework (this repo). To resolve your issue, I would recommend opening a Salesforce Stack Exchange question or a Salesforce case.

letti2017 commented 1 week ago

I will raise a case as well, just wanted to get as many eyes on this as possible since it's causing our team a lot of problems with rendering based on the event.detail.record object that comes back from onLoad

Templarian commented 1 week ago

Updating records outside of standard LDS wires might be picking up cached values. LDS Consideration Docs

https://developer.salesforce.com/docs/component-library/bundle/lightning-record-edit-form/documentation The "load" section goes into detail what causes the onload to trigger. Posting on Stack Exchange might be able to offer additional support how to get latest data.

letti2017 commented 1 week ago

Updating records outside of standard LDS wires might be picking up cached values. LDS Consideration Docs

https://developer.salesforce.com/docs/component-library/bundle/lightning-record-edit-form/documentation The "load" section goes into detail what causes the onload to trigger. Posting on Stack Exchange might be able to offer additional support how to get latest data.

I must be missing something then, because based on my understanding of the documentation provided here, the onLoad function will fire when LDS has updates to the record from the system. However, I've noticed that without changing any of the values on the record, either on the server or within the lwc itself, the event.detail.record still does not contain the most up-to-date information somewhat randomly.