Hey guys, today in this post we are going to learn about How to retrieve custom metadata records based on recordId without Apex SOQL uses of ‘uiRecordApi’ library in Lightning Web Components – LWC Salesforce.
Custom Metadata is the information that describes the configuration of each customerβs organization. You can create your own declarative developer frameworks for internal teams, partners, and customers. Rather than building apps from data, you can build apps that are defined and driven by their own types of metadata.
When you create a custom metadata type, you can reference its values in an advanced formula field. If a field value changes, you can update it in the custom metadata type instead of changing multiple, hard-coded formulas. If you use packaging, define the logic you want and allow your subscribers to customize the details.
Use SOQL to access your custom metadata types and to retrieve the API names of the records of those types. To know more details about Custom Metadata Types, Click Here β
Files we used to get Custom Metadata in LWC without apex β
lwcGetCustomMetaData.html | LWC HTML File | Template HTML file to get the record of Custom Metadata bases on record Id in LWC |
lwcGetCustomMetaData.js | LWC JavaScript File | In the javascript file we import the lightning/uiRecordApi library in Salesforce LWC |
lwcGetCustomMetaData.css | Style CSS | It is used to fixed the alignment of the data table as padding and border in lwc component. |
lwcGetCustomMetaData.js-meta.xml | XML Meta File | It is used to where this lightning web component file you want to display as lightning__AppPage, lightning__RecordPage, lightning__HomePage. |
lwcGetCustomMetaDataApp.app | Lightning Application | It is used to call the component to preview on browser. |
Final Output β
You can download file directly from github by Click Here.
Other related post that would you like to learn in Salesforce
- Find the below steps βΎ
Create Lightning Web Component HTML β
Step 1:- Create Lightning Web Component : lwcGetCustomMetaData.html
SFDX:Lightning Web Component >> New >> lwcGetCustomMetaData.html
lwcGetCustomMetaData.html [Lightning Web Component HTML]
<template>
<lightning-card>
<div class="slds-p-around--large">
<h3 class="slds-text-heading_medium"><lightning-icon icon-name="custom:custom101" size="small"></lightning-icon> <strong style="color:#270086; font-size:13px; margin-right:5px;"> Custom Metadata Types Record Values based on RecordId in LWC </strong></h3>
<br/>
<template if:true={studentMetaObj}>
<table class="tblColPad" border="1" cellpadding="5" cellspacing="5" style="border-collapse:collapse;">
<tr>
<th>Master Label</th>
<th>Developer Name</th>
<th>Phone</th>
<th>Email</th>
</tr>
<tr>
<td>{studentMetaObj.MasterLabel}</td>
<td>{studentMetaObj.DeveloperName}</td>
<td>{studentMetaObj.Phone}</td>
<td>{studentMetaObj.Email}</td>
</tr>
</table>
</template>
</div>
</lightning-card>
<br/><br/>
<!--Start RelatedTopics Section-->
<div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
<p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/05/thumbsUpLike.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="https://www.w3web.net/" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p>
<br/><br/>
<p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/07/tickMarkIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like β</span> </strong></p>
<div style="display:block; overflow:hidden;">
<div style="width: 50%; float:left; display:inline-block">
<ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;">
<li><a href="https://www.w3web.net/lwc-get-set-lightning-checkbox-value/" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li>
<li><a href="https://www.w3web.net/display-account-related-contacts-in-lwc/" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li>
<li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li>
<li><a href="https://www.w3web.net/if-and-else-condition-in-lwc/" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li>
<li><a href="https://www.w3web.net/get-selected-radio-button-value-and-checked-default-in-lwc/" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li>
</ul>
</div>
<div style="width: 50%; float:left; display:inline-block">
<ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;">
<li><a href="https://www.w3web.net/display-account-related-contacts-lwc/" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li>
<li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li>
<li><a href="https://www.w3web.net/fetch-picklist-values-dynamic-in-lwc/" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li>
<li><a href="https://www.w3web.net/edit-save-and-remove-rows-dynamically-in-lightning-component/" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li>
<li><a href="https://www.w3web.net/tree-grid-dynamic-expand-collapse-in-lwc/" target="_blank" rel="noopener noreferrer">how to create tree grid with expanded/collapsed section for the entire row in LWC</a></li>
</ul>
</div>
<div style="clear:both;"></div>
<br/>
<div class="youtubeIcon">
<a href="https://www.youtube.com/channel/UCW62gTen2zniILj9xE6LmOg" target="_blank" rel="noopener noreferrer"><img src="https://www.w3web.net/wp-content/uploads/2021/11/youtubeIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a>
</div>
</div>
</div>
<!--End RelatedTopics Section-->
</template>
Create Lightning Web Component JavaScript β
Step 2:- Create Lightning Web Component : lwcGetCustomMetaData.js
SFDX:Lightning Web Component >> New >> lwcGetCustomMetaData.js
lwcGetCustomMetaData.js [LWC JavaScript File]
import { LightningElement , track, wire} from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
export default class LwcGetCustomMetaData extends LightningElement {
@track studentMetaObj = {};
@wire(getRecord, { recordId: 'm045g000000A3f7', fields: ['StudentMeta__mdt.MasterLabel', 'StudentMeta__mdt.DeveloperName', 'StudentMeta__mdt.Phone__c', 'StudentMeta__mdt.Email__c'] })
userData({error, data}) {
if(data) {
let metaDataVal = data.fields;
this.studentMetaObj = {
MasterLabel : metaDataVal.MasterLabel.value,
DeveloperName: metaDataVal.DeveloperName.value,
Phone: metaDataVal.Phone__c.value,
Email: metaDataVal.Email__c.value,
}
}
else if(error) {
window.console.log('error ====> '+JSON.stringify(error))
}
}
}
Create LWC Style CSS β
Step 3:- Create Style CSS : lwcGetCustomMetaData.css
SFDX:Lightning Web Component >> New >> lwcGetCustomMetaData.css
lwcGetCustomMetaData.css [Style CSS]
table.tblColPad th{background:#ddd;}
table.tblColPad th, table.tblColPad td {padding:5px !important;}
Create Lightning Web Component Meta XML β
Step 4:- Create Lightning Web Component : lwcGetCustomMetaData.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcGetCustomMetaData.js-meta.xml
lwcGetCustomMetaData.js-meta.xml [LWC Meta Data XML]
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>45.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
<target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>
Create Lightning Application β
Step 5:- Create Lightning Application : lwcGetCustomMetaDataApp.app
From Developer Console >> File >> New >> Lightning Application
lwcGetCustomMetaDataApp.app [Component Application File]
<aura:application extends="force:slds">
<c:lwcGetCustomMetaData/>
</aura:application>
Further post that would you like to learn in Salesforce
How do I display custom metadata in LWC?
Setting up a custom metadata type is super easy to do. In Salesforce go to Setup -> Custom Metadata Types and then click the βNew Custom Metadata Typeβ button once there. You'll find setting up a custom metadata type very closely resembles setting up a custom object.
How do you customize metadata in lightning component?
To get the data, the Lightning Web Component uses the getRecord wire adapter. Let's create a Component with name lifeCycle to get the custom metadata record without calling an apex method and show the value on UI. First Create a custom metadata in the developer org.
How do I use custom metadata in Apex trigger?
Create a Custom Metadata record for each Apex Trigger and adjust the code. Then uncheck the checkbox to bypass specific Apex Trigger context.
Related Topics | You May Also Like
Our Free Courses β
π Get Free Course β
![]() π Salesforce Administrators π Salesforce Lightning Flow Builder π Salesforce Record Trigger Flow Builder |
π Get Free Course β
![]() π Aura Lightning Framework π Lightning Web Component (LWC) π Rest APIs Integration |