Hi All,
below are the Example for ,How create record using apex in Lightning Web Components(lwc)
Sample code:-
createAccountRecordInLWC.html
below are the Example for ,How create record using apex in Lightning Web Components(lwc)
Sample code:-
createAccountRecordInLWC.html
<template> <lightning-card title="Create Account Record" icon-name="standard:account"> <div style="margin-left: 6%" if:true={error}> <lightning-badge label={error} style="color: red;"></lightning-badge> </div> <template if:true={accRecord}> <div class="slds-m-around--xx-large"> <div class="container-fluid"> <div class="form-group"> <lightning-input label="Enter Account Name" name="accName" required="required" type="text" value={accRecord.Name} onchange={handleNameChange}></lightning-input> </div> <div class="form-group"> <lightning-input label="Enter Phone Number" name="accPhone" type="number" value={accRecord.Phone} onchange={handlePhoneChange}></lightning-input> </div> <div class="form-group"> <lightning-input label="Enter Account Type" name="accEmail" required="required" type="text" value={accRecord.Type} onchange={handleTypeChange}></lightning-input> </div> <div class="form-group"> <lightning-input label="Enter Industry" name="accEmail" type="text" value={accRecord.Industry} onchange={handleIndustryChange}></lightning-input> </div> </div> <br/> <lightning-button label="Submit" onclick={handleSave} variant="brand"></lightning-button> </div> </template> </lightning-card> </templat>
createAccountRecordInLWC.jsimport { LightningElement, track} from 'lwc'; // Importing Apex Class method import saveAccount from '@salesforce/apex/LWCExampleController.saveAccountRecord'; // importing to show toast notifictions import {ShowToastEvent} from 'lightning/platformShowToastEvent'; // importing Account fields import NAME_FIELD from '@salesforce/schema/Account.Name'; import Phone_FIELD from '@salesforce/schema/Account.Phone'; import Industry_FIELD from '@salesforce/schema/Account.Industry'; import Type_FIELD from '@salesforce/schema/Account.Type'; export default class createAccountRecordInLWC extends LightningElement { @track error; // this object have record information * it should be object field Api Name @track accRecord = { Name : NAME_FIELD, Industry : Industry_FIELD, Phone : Phone_FIELD, Type : Type_FIELD }; handleNameChange(event) { this.accRecord.Name = event.target.value; window.console.log('Name ==> '+this.accRecord.Name); } handlePhoneChange(event) { this.accRecord.Phone = event.target.value; window.console.log('Phone ==> '+this.accRecord.Phone); } handleTypeChange(event) { this.accRecord.Type = event.target.value; window.console.log('Type ==> '+this.accRecord.Type); } handleIndustryChange(event) { this.accRecord.Industry = event.target.value; window.console.log('Industry ==> '+this.accRecord.Industry); } handleSave() { saveAccount({objAcc: this.accRecord}) //objAcc - it should be same as per class method variable name .then(result => { // Clear the user enter values this.accRecord = {}; window.console.log('result ===> '+result); // Show success messsage this.dispatchEvent(new ShowToastEvent({ title: 'Success!!', message: 'Account Created Successfully!!', variant: 'success' }),); }) .catch(error => { this.error = error.message; }); } }
createAccountRecordInLWC.xml<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="createAccountRecordInLWC"> <apiVersion>45.0</apiVersion> <isExposed>true</isExposed> <targets> <target>lightning__AppPage</target> <target>lightning__RecordPage</target> <target>lightning__HomePage</target> </targets> </LightningComponentBundle>
Apex Class Sample:- public inherited sharing class LWCExampleController { @AuraEnabled public static void saveAccountRecord(Account objAcc){ try{ insert objAcc; } catch(Exception ex) { throw new AuraHandledException(ex.getMessage()); } } }