Tuesday, November 19, 2019

Getting Record Type Id in LWC for Particular Record Type Name

import { LightningElement,wiretrack } from 'lwc';
import { getObjectInfo } from 'lightning/uiObjectInfoApi';
import ACCOUNT_OBJECT from '@salesforce/schema/Account';

export default class RecordTypeTestLWC extends LightningElement {
    
    @track objectInfo;

    @wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT ,})
    objectInfo;

    getRecordTypeId(recordTypeName) {
        let recordtypeinfo = this.objectInfo.data.recordTypeInfos;
        let recordTypeId;
        for(var eachRecordtype in  recordtypeinfo)
        {
            if(recordtypeinfo[eachRecordtype].name===recordTypeName){
                recordTypeId = recordtypeinfo[eachRecordtype].recordTypeId;
                break;
            }
        }
        console.log('returning -   ' + recordTypeId);
        return recordTypeId;
    }    


}

3 comments:

  1. hey you can use:

    getRecordTypeId(recordTypeName) {
    const recordtypeinfo = this.oAccount.data.recordTypeInfos;
    return Object.keys(recordtypeinfo).find(rti => recordtypeinfo[rti].name === recordTypeName);
    }

    ReplyDelete
    Replies
    1. Thank you, yours is more concise. I like it.

      Delete
  2. how can we get the name of the record type name

    ReplyDelete