Die Variable @track in LWC wird nicht angezeigt

Oct 05 2020

Ich erstelle derzeit eine benutzerdefinierte Lead-Conversion-Seite in LWC. Ich habe mit Aura eine schnelle Aktion erstellt und die leadRecordId an meinen LWC übergeben. Ich erhalte jetzt die Details zum Lead-Datensatz mithilfe von APEX. Aber wenn ich versuche, die Details in HTML LWC anzuzeigen. Die Seite wird nicht geladen.

Hier ist mein Controller:

import { LightningElement, api, wire, track } from 'lwc';
import getLeadRecord from '@salesforce/apex/customLeadConversionController.getLeadRecord';
export default class CustomLeadConversion extends LightningElement {

@api recordId; 

@track varLeadRecord;

 @wire(getLeadRecord, { leadId : '$recordId' })
leadRecordDetails({ data, error }){
    if(data){
        this.varLeadRecord = data;
        console.log('this.varLeadRecord');
        console.log(this.varLeadRecord);
        console.log(this.varLeadRecord.Name);
        console.log(this.varLeadRecord.Id);
    }else if(error){

    }
  }          
}

Hier ist mein HTML:

<template>
<header class="slds-modal__header">
    <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate">Convert Lead</h2>
    </header>
    <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
        <lightning-accordion class="example-accordion">
            <lightning-accordion-section name="A" label="Account">                                                                            
            </lightning-accordion-section>                
    
            <lightning-accordion-section name="B" label="Contact">                  
               <p>Lead Record</p>  
               <!-- NOT WORKING-->
               <p>{varLeadRecord.FirstName}</p>  
               <!-- NOT WORKING-->
               <lightning-input type="text" name="firstname" label="FirstName" 
               value={}   
               class="formInput"></lightning-input>
            </lightning-accordion-section>
    
            <lightning-accordion-section name="C" label="Opportunity">                                             
            </lightning-accordion-section>

        </lightning-accordion>
    </div>
    <footer class="slds-modal__footer">
    <button class="slds-button slds-button_neutral" onclick={cancel}>Cancel</button>
    <button class="slds-button slds-button_brand" onclick={save}>
      Convert
    </button>
    </footer></template>

Antworten

5 dzh Oct 05 2020 at 09:30

Ich denke, Sie benötigen einen Standardwert für Ihre verfolgte Variable wie @track varLeadRecord = {};. Was passiert lwc engine versucht varLeadRecordbeim Rendern auf undefiniert zu verweisen und gibt dann auf.

Aktivieren Sie in Zukunft den Lightning-Debug-Modus und "Pause bei Ausnahmen" in Chrome, um einen Einblick in die aktuellen Ereignisse zu erhalten.