data.fields provides the list of all fields of contact object in a MAP with key value pair. objectInfo is a MAP which is populated with the values received in data.fields.
Javacript file:
/* eslint-disable guard-for-in */ /* eslint-disable no-console */ import { LightningElement, wire, track } from 'lwc'; import { getObjectInfo } from 'lightning/uiObjectInfoApi'; import CONTACT_OBJECT from '@salesforce/schema/Contact'; export default class UserOnboard extends LightningElement { @track objectInfo = []; @wire(getObjectInfo, { objectApiName: CONTACT_OBJECT }) wiredContact({ error, data }) { if (data) { //data.fields is a Map<String, Field> for(let key in data.fields) { //Inserting Data into Map this.objectInfo.push({value:data.fields[key].apiName, isRequired:data.fields[key].required, key:key}) } } else if (error) { this.error = error; this.record = undefined; } } }
<template> <lightning-card title="Wire Get Object Info" icon-name="custom:custom67"> <div class="slds-m-horizontal_medium"> <template for:each={objectInfo} for:item='item'> <li class="slds-listbox__item slds-search-dropdown-list-items" key={item.key}> <div>{item.value}</div> </li> </template> </div> </lightning-card> </template>