Problem: I create a record when a user enter a value in the Return To Sender field. What i'm trying to do, is only display the data if the record exists and has the same doNbr as the one already on the page (the DO # displayed on the page is not stored on SF). But right now, if I enter a value on the field, it displays on every package section no depending on the doNbr like I want. Please find a screenshot of the page: 
When creating the record, I retrieve the doNbr, and save it on a doNbr field on the object. It works fine as you can see from the screenshot below.
Js file:
import { LightningElement, track, api, wire } from 'lwc'; import getCustomerOrder from '@salesforce/apex/icCTRLCustomerOrder.getCustomerOrder'; import getPackageByOrderId from '@salesforce/apex/icCTRLCustomerOrder.getPackageByOrderId'; import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { createRecord, updateRecord } from 'lightning/uiRecordApi'; import RETURN_OBJECT from '@salesforce/schema/Return_to_Sender__c'; import ORDER_FIELD from '@salesforce/schema/Return_to_Sender__c.Order__c'; import DO_NUM_FIELD from '@salesforce/schema/Return_to_Sender__c.Do_Nbr__c'; import RETURN_TO_SENDER_FIELD from '@salesforce/schema/Return_to_Sender__c.Tech_Return_To_Sender__c'; import ORDER_RETURN_TO_SENDER_FIELD from '@salesforce/schema/Order.Return_To_Sender__c'; import ORDER_ID_FIELD from '@salesforce/schema/Order.Id'; export default class IcPackageInformation extends LightningElement { @track displayPopup = false; @track doDetails; @track tempdoNum = []; @track inputFilled = false; @track doNum; @track packageSaved = false; @api orderId; @track trackNumber; @api returnToSenderStored; package; error; packageId; returnToSender = ''; record; doNumReturn; returnSaved; returnRep; @wire(getPackageByOrderId, { recordId: '$packageId'}) wiredPackage({ error, data }) { if (data) { this.returnSaved = data.Do_Nbr__c; } else if (error) { console.log('Something went wrong:', error); } } handleReturnToSenderChange(event) { this.packageId = undefined; this.doNumReturn = undefined; this.returnToSender = event.target.value; this.inputFilled = true; let index = event.target.dataset.index; this.doNum = this.tempdoNum[index]; } handleTrackingNumber(event) { this.packageId = undefined; this.trackNumber = event.target.value; this.inputFilled = true; } createPackage() { const fields = {}; fields[RETURN_TO_SENDER_FIELD.fieldApiName] = this.returnToSender; fields[ORDER_FIELD.fieldApiName] = this.orderId; fields[DO_NUM_FIELD.fieldApiName] = this.doNum; const recordInput = { apiName: RETURN_OBJECT.objectApiName, fields }; createRecord(recordInput) .then(package__c => { this.packageId = package__c.id; this.doNumReturn = package__c.Do_Nbr__c; this.packageSaved = true; const orderFields = {}; this.inputFilled = false; orderFields[ORDER_RETURN_TO_SENDER_FIELD.fieldApiName] = this.packageId; orderFields[ORDER_ID_FIELD.fieldApiName] = this.orderId; const recordOrder = { fields: orderFields }; updateRecord(recordOrder).then((record) => { console.log('record ', record); }); }) .catch(error => { this.dispatchEvent( new ShowToastEvent({ title: 'Error creating record', message: error.body.message, variant: 'error', }), ); }); } handleCancel(event){ this.inputFilled = false; } connectedCallback(){ this.fetchOrderDetails(); } fetchOrderDetails(){ let customerOrderNumber = this.customerOrderNumber; getCustomerOrder({customerOrderNumber:customerOrderNumber}) .then(data => { this.doDetails = data.doDetails; this.doDetails.forEach(doDetail =>{ this.tempdoNum.push(doDetail.doNbr); }) }).catch(error => { window.console.log('callout error ', JSON.stringify(error)); }) } } HTML file:
<div class="slds-form__row"> <div class="slds-form__item" role="listitem"> <div class="slds-form-element slds-form-element_readonly slds-form-element_horizontal slds-hint-parent"> <span class="slds-form-element__label"> DO #</span> <div class="slds-form-element__control"> <div class="slds-form-element__static" name="doNbr" > {doDetail.doNbr} </div> </div> </div> </div> <div class="slds-form__item" role="listitem"> <div class="slds-form-element slds-form-element_readonly slds-form-element_horizontal slds-hint-parent"> <span class="slds-form-element__label">Return to Sender</span> <div class="slds-form-element__control"> <div class="slds-form-element__static"> <template if:false={returnToSenderStored}> <lightning-input data-index={index} field-name='ReturnToSender' onchange={handleReturnToSenderChange} value=''> </lightning-input> </template> <template if:true={returnToSenderStored}> <lightning-input data-index={index} field-name='ReturnToSender' onchange={handleReturnToSenderChange} value={returnToSenderStored}></lightning-input> </template> </div> </div> </div> </div> </div> Apex class:
@AuraEnabled(cacheable=true) public static Return_To_Sender__c getPackageByOrderId(Id recordId) { return [SELECT Id, Do_Nbr__c, Tech_return_to_sender__c FROM Return_To_Sender__c WHERE Id = :recordId ]; } 