How to fetch picklist values from apex controller in lightning component | how to fetch pick-list values dynamically uses of apex method in Salesforce lightning component

2,405 views

Hey guys, In this post we are going to learn about how to retrieve Picklist values from Apex controller in Lightning Component.

Files we used in this post example:-

statusApp.app Lightning Application It is used for call the component to preview on browser.
statusCmp.cmp Lightning Component It is used for create a picklist select option field.
statusCmpController.js JavaScript Controller File It is used for communicate to server side apex method and fetch the picklist value from init fuction.
statusCmpHelper.js JavaScript Helper File Helper function call in to javascript init function.
pickListController.apxc Apex Class Controller It is used for retrieve picklist values from database.

Custom Object:- Course__c

Custom Object Picklist Fields:-

Status__c

Picklist Value:-

Active,

Inactive

 

Custom Object and their fields

We retrieve picklist values from custom field and display on the dropdown.

 

Final Output

fetching picklist values dynamically in lightning by w3web.net

 

You can download file directly from github by Click Here.

 

 

Other related post that would you like to learn in Salesforce

 

Step 1:- Create Lightning Application : statusApp.app

From Developer Console >> File >> New >> Lightning Application

statusApp.app [Component Application File]

  1.   <aura:application extends="force:slds">
  2.     <c:statusCmp/>
  3. </aura:application>

Step 2:- Create Lightning Component : statusCmp.cmp

From Developer Console >> File >> New >> Lightning Component

statusCmp.cmp [Lightning Component]

  1.   <aura:component controller="pickListController" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction,lightning:actionOverride" access="global" >
  2.     <aura:html tag="style">.forceStyle.desktop .viewport{background:#fff;}</aura:html>
  3.     <aura:attribute name="coursesObj" type="Course__c" default="{'sobjectType':'Course__c'}"/>
  4.     <aura:attribute name="statusListItems" type="Course__c[]"/>
  5.     <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>     
  6.  
  7.     <div class="slds">
  8.          <div class="slds-grid slds-wrap">
  9.              <div class="slds-p-horizontal--medium slds-col slds-size_6-of-12 slds-m-bottom--medium">
  10.                  <div class="slds-form-element">
  11.                      <label class="slds-form-element__label">Status</label>
  12.                      <div class="slds-form-element__controller">
  13.                          <ui:inputSelect class="slds-select" aura:id="statusId" value="{!v.coursesObj.Status__c}">
  14.                              <ui:inputSelectOption text="--None--"/>
  15.                              <aura:iteration items="{!v.statusListItems}" var="statusVar">
  16.                                  <ui:inputSelectOption text="{!statusVar}"/>
  17.                              </aura:iteration>
  18.                          </ui:inputSelect>
  19.                      </div>
  20.                  </div>
  21.              </div>
  22.         </div>
  23. <br/><br/>
  24.    <!--Start RelatedTopics Section-->
  25. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  26.  
  27.             <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>
  28.  
  29.             <br/><br/>
  30.             <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>
  31.             <div style="display:block; overflow:hidden;"> 
  32.                 <div style="width: 50%; float:left; display:inline-block">
  33.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  34.                         <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>
  35.                         <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>
  36.                         <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>
  37.                         <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>
  38.                         <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>
  39.                     </ul>
  40.             </div>
  41.  
  42.             <div style="width: 50%; float:left; display:inline-block">
  43.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  44.                         <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>
  45.                         <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>
  46.                         <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>
  47.                         <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>
  48.                         <li><a href="https://www.w3web.net/update-parent-object-from-child/" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</a></li>
  49.                     </ul>
  50.                 </div>
  51.                <div style="clear:both;"></div> 
  52.                <br/>
  53.                 <div class="youtubeIcon">
  54.                     <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>
  55.                 </div>
  56.     </div>
  57.  
  58. </div>
  59.  
  60.   <!--End RelatedTopics Section-->
  61.  
  62.     </div>
  63. </aura:component>

Step 3:- Create Lightning Component : statusCmpController.js

From Developer Console >> File >> New >> Lightning Component >> JavaScript Controller

statusCmpController.js [JavaScript Controller]

  1.    ({
  2.     doInit:function(component, event, helper){
  3.         helper.statusListItemsView(component);        
  4.     },    
  5. })

Step 4:- Create Lightning Component : statusCmpHelper.js

From Developer Console >> File >> New >> Lightning Component >> JavaScript Helper

statusCmpHelper.js [JavaScript Helper]

  1.    ({
  2.    statusListItemsView : function(component, event, helper) {
  3. 		var action = component.get('c.pickList');
  4.         action.setParams({"obj":"Course__c", "str":"Status__c"});
  5.  
  6.         action.setCallback(this, function(response){
  7.             var state = response.getState();              
  8.             if(state == "SUCCESS"){
  9.                 var result = response.getReturnValue();
  10.                 component.set('v.statusListItems',result);
  11.             }
  12.         });
  13.         $A.enqueueAction(action);
  14. 	},    
  15.   })

Step 5:- Create Lightning Application : pickListController.apxc

From Developer Console >> File >> New >> Apex Class

pickListController.apxc [Apex Class Controller]

  1.    public class pickListController {            
  2.     @AuraEnabled
  3.     public static List<String> pickList(String obj, String str) {
  4.          List<String> regList = NEW List<String>(); 
  5.             Schema.DescribeFieldResult plistvalues = Schema.getGlobalDescribe().get(obj).getDescribe().fields.getMap().get(str).getDescribe();
  6.             FOR(PicklistEntry ent:plistvalues.getpicklistvalues())     {
  7.                 regList.add(ent.getLabel());
  8.             }
  9.              RETURN regList;
  10.       }
  11.   }

 

Further post that would you like to learn in Salesforce

 

 

 

FAQ (Frequently Asked Questions)

What is schema in Apex?

Schema is a Namespace which is referred as Database. This namespace contains some classes and their methods to provide metadata information of Schema. Schema class deals with both bulk and single record means you can fetch all objects' names at once or a single object name.

What is schema PicklistEntry?

A Schema.PicklistEntry object is returned from the field describe result using the getPicklistValues method. For example: Schema. DescribeFieldResult F = Account. Industry.

Can we use IsChanged in formula field?

A very much awaited feature is coming in Summer '21 – we will have the ability to use the IsNew(), IsChanged() and PriorValue() syntax in formulas as you can in workflow rules and processes in record-triggered and scheduled flows.

  • Our Free Courses β†’
 
 


Hi, This is Vijay Kumar behind the admin and founder of w3web.net. I am a senior software developer and working in MNC company from more than 8 years. I am great fan of technology, configuration, customization & development. Apart of this, I love to write about Blogging in spare time, Working on Mobile & Web application development, Salesforce lightning, Salesforce LWC and Salesforce Integration development in full time. [Read full bio] | | The Sitemap where you can find all published post on w3web.net

Leave a Comment