Salesforce LWC में, यदि आप उपयोगकर्ता को विकल्पों की निर्दिष्ट सूची में से एक विकल्प चुनने की अनुमति देना चाहते हैं, तो कॉम्बोबॉक्स का उपयोग किया जाता है। इस गाइड में, हम कम्बोबॉक्स कैसे बनाएं और उदाहरणों के साथ कम्बोबॉक्स द्वारा समर्थित विभिन्न विशेषताओं पर चर्चा करेंगे।
सम्मिश्रण पटी
मूल रूप से, कॉम्बोबॉक्स एक रीड-ओनली फ़ील्ड है जो निर्दिष्ट विकल्पों में से एक विकल्प चुनने के लिए एक इनपुट प्रदान करता है। हम इसे लाइटनिंग-कॉम्बोबॉक्स टैग का उपयोग करके बना सकते हैं। विशेषताएँ एक के बाद एक गति होती हैं जिन्हें स्थान द्वारा अलग किया जाता है। आइए कुछ विशेषताओं पर चर्चा करें जो कॉम्बोबॉक्स बनाते समय आवश्यक हैं।
- लेबल - इसका उपयोग आपके कॉम्बोबॉक्स के लिए लेबल (टेक्स्ट) निर्दिष्ट करने के लिए किया जाता है।
- विकल्प - प्रत्येक विकल्प 'लेबल' और 'मान' विशेषताएँ लेता है। हम अल्पविराम द्वारा अलग की गई सूची में एकाधिक विकल्प निर्दिष्ट कर सकते हैं।
- प्लेसहोल्डर : किसी विकल्प का चयन करने से पहले उपयोगकर्ता को विकल्पों से संबंधित जानकारी जानना आवश्यक है। तो, यह विशेषता निर्दिष्ट है.
- आवश्यक : कुछ स्थिति में विकल्प का चयन करना अनिवार्य है। हम इस विशेषता को निर्दिष्ट करके इसे आवश्यक बना सकते हैं।
- अक्षम : चेकबॉक्स से विकल्प का चयन करके उपयोगकर्ता को रोकना संभव हो सकता है। यह विशेषता कॉम्बोबॉक्स को अक्षम कर देती है.
वाक्य - विन्यास:
आइए देखें कि कुछ महत्वपूर्ण विशेषताओं के साथ कॉम्बोबॉक्स कैसे बनाया जाए।
<लाइटनिंग-कॉम्बोबॉक्स
नाम = 'नाम'
लेबल='लेबल_नाम'
मूल्य={value_from_the_option}
प्लेसहोल्डर = 'सहायता पाठ'
विकल्प={List_of_options}
ऑनचेंज={हैंडलचेंज} >
लाइटनिंग-कॉम्बोबॉक्स>
विशिष्टता:
आइए कॉम्बोबॉक्स बनाने और उसके साथ काम करने के चरण देखें।
जावास्क्रिप्ट फ़ाइल में, 'गेटर' विधि के अंदर लेबल और मान के साथ विकल्पों की एक सूची बनाएं।
एक वेरिएबल बनाएं जो डिफ़ॉल्ट विकल्प संग्रहीत करता है।
उस हैंडल फ़ंक्शन को लिखें जो यूआई से उपयोगकर्ता द्वारा चुने गए विकल्प को संग्रहीत करता है।
HTML फ़ाइल में, एक कॉम्बोबॉक्स बनाएं और विशेषताएँ पास करें। साथ ही, हमें ऑनचेंज() इवेंट हैंडलर को पास करने की आवश्यकता है जो कॉम्बोबॉक्स में विकल्पों को संभालता है। यह 'जेएस' फ़ाइल में बनाए गए 'हैंडलर' फ़ंक्शन को लेता है।
इस गाइड में हम जिन सभी उदाहरणों पर चर्चा करने जा रहे हैं, उनमें तर्क 'जेएस' कोड के रूप में प्रदान किया जाएगा। उसके बाद, हम स्क्रीनशॉट निर्दिष्ट करते हैं जिसमें संपूर्ण 'जेएस' कोड शामिल है।
उदाहरण 1:
जावास्क्रिप्ट फ़ाइल में पांच विषयों (विवरण) के साथ एक कॉम्बोबॉक्स बनाएं। डिफ़ॉल्ट मान को 'JAVA' के रूप में निर्दिष्ट करें। कम्बोबॉक्स को HandleSubjectsOnChange() विधि में संभालें। एक लेबल के साथ HTML फ़ाइल में 'मूल्य और विकल्प' विशेषताओं के लिए मूल्य और विवरण पास करें और घटक को तैनात करें।
पहला उदाहरण.html
<टेम्पलेट><लाइटनिंग-कार्ड शीर्षक = 'विषय कॉम्बोबॉक्स' >
< डिव कक्षा = 'slds-var-एम-अराउंड_मीडियम' >
<लाइटनिंग-कॉम्बोबॉक्स
लेबल = 'अपना विषय चुनें:'
कीमत = { कीमत }
विकल्प = { विवरण }
परिवर्तन पर = { हैंडलसब्जेक्ट्सऑनचेंज } < / लाइटनिंग-कॉम्बोबॉक्स>
< बीआर >
< पी > तुम्हारा विषय: < बी > {कीमत} < / बी < / पी >
< / डिव >
< / लाइटनिंग-कार्ड>
< / टेम्पलेट>
पहला उदाहरण.जे.एस
// कॉम्बोबॉक्स के लिए डिफ़ॉल्ट मान - 'JAVA' बनाएंकीमत = 'जावा' ;
//विषय दिखाएं
पाना विवरण ( ) {
// 5 विषय
वापस करना [ { लेबल : 'जावा' , कीमत : 'जावा' } ,
{ लेबल : 'पायथन' , कीमत : 'पायथन' } ,
{ लेबल : 'एचटीएमएल' , कीमत : 'एचटीएमएल' } ,
{ लेबल : 'सी' , कीमत : 'सी' } ,
{ लेबल : 'सी++' , कीमत : 'सी++' } ] ;
}
// मान सेट करने के लिए तर्क संभालें
हैंडलसब्जेक्ट्सऑनचेंज ( आयोजन ) {
यह . कीमत = आयोजन। विवरण . कीमत ;
}
}
संपूर्ण कोड:
फर्स्टकंपोनेंट.जेएस-मेटा.एक्सएमएल
संस्करण = '1.0' ?><लक्ष्य>
<लक्ष्य> बिजली__ऐपपेज < / लक्ष्य>
<लक्ष्य> बिजली__रिकॉर्डपेज < / लक्ष्य>
< / लक्ष्य>
< / लाइटनिंगकंपोनेंटबंडल>
आउटपुट:
इस घटक को किसी भी ऑब्जेक्ट के 'रिकॉर्ड' पृष्ठ पर जोड़ें। HTML फ़ाइल में, हम पैराग्राफ टैग में मान प्रदर्शित करते हैं। जब कोई उपयोगकर्ता कोई विकल्प चुनता है, तो उसे बोल्ड के रूप में प्रदर्शित किया जाएगा। डिफ़ॉल्ट रूप से, पृष्ठ पर घटक प्रस्तुत होने के बाद 'JAVA' चुना और प्रदर्शित किया जाता है।
आइए विषय को 'सी' के रूप में चुनें। कॉम्बोबॉक्स के नीचे 'सी' लौटाया गया है।
उदाहरण 2:
इस उदाहरण में, हम अभियान प्रकार पिकलिस्ट मानों (अभियान ऑब्जेक्ट से) के आधार पर विभिन्न घटकों को प्रस्तुत करेंगे।
- यदि अभियान प्रकार 'सम्मेलन' है, तो हम उस टेम्पलेट को प्रस्तुत करेंगे जो पाठ लौटाता है - अभियान स्थिति: नियोजित
- यदि अभियान प्रकार 'वेबिनार' है, तो हम उस टेम्पलेट को प्रस्तुत करेंगे जो पाठ लौटाता है - अभियान स्थिति: पूर्ण
- यदि अभियान प्रकार 'साझेदार' है, तो हम उस टेम्पलेट को प्रस्तुत करेंगे जो पाठ लौटाता है - अभियान स्थिति: प्रगति पर
- अभियान स्थिति: शेष विकल्पों के लिए निरस्त किया गया।
दूसरा उदाहरण.html
<टेम्पलेट><लाइटनिंग-कार्ड शीर्षक = 'अभियान प्रकार' आइकन नाम = 'मानक:अभियान' >
< डिव कक्षा = 'slds-var-एम-अराउंड_मीडियम' शैली = 'ऊंचाई: 20px; चौड़ाई: 400px' >
<टेम्पलेट भाग्य:यदि = { अभियान प्रकार मान। डेटा } >
<लाइटनिंग-कॉम्बोबॉक्स कीमत = { कीमत }
विकल्प = { अभियान प्रकार मान। डेटा .मूल्य }
परिवर्तन पर = { हैंडलचेंज } >
< / लाइटनिंग-कॉम्बोबॉक्स>
< / टेम्पलेट>< बीआर / >
< / डिव >
< बीआर < बीआर >
<टेम्पलेट भाग्य:यदि = { सम्मलेन } >
< केंद्र > अभियान स्थिति: < बी < मैं > नियोजित< / मैं < / बी > < / केंद्र >
< / टेम्पलेट>
<टेम्पलेट भाग्य:अन्यथा = { वेबिनारवल } >
< केंद्र > अभियान स्थिति: < बी < मैं > पूर्ण< / मैं < / बी > < / केंद्र >
< / टेम्पलेट>
<टेम्पलेट भाग्य:अन्यथा = { भागीदार } >
< केंद्र > अभियान स्थिति: < बी < मैं >प्रगति में< / मैं < / बी > < / केंद्र >
< / टेम्पलेट>
<टेम्पलेट भाग्य:अन्य>
< केंद्र > अभियान स्थिति: < बी < मैं >निरस्त< / मैं < / बी > < / केंद्र >
< / टेम्पलेट>
< / लाइटनिंग-कार्ड>
< / टेम्पलेट>
दूसरा उदाहरण.जे.एस
हम अभियान ऑब्जेक्ट (मानक) को CAMPAIGN के रूप में आयात करते हैं और इसे TYPE के रूप में टाइप करते हैं। लाइटनिंग/uiObjectInfoApi से, हम getPicklistValues और getObjectInfo आयात करते हैं। इन्हें टाइप फ़ील्ड में उपलब्ध पिकलिस्ट मान मिलेंगे। इन्हें कम्बोबॉक्स के विकल्प के रूप में उपयोग किया जाएगा। हैंडलचेंज() में निम्नलिखित को संभाला जाता है।
- यदि मान === 'कॉन्फ्रेंस', तो हम कॉन्फ्रेंसवल वैरिएबल को सत्य और अन्य दो को गलत पर सेट करते हैं।
- यदि मान === 'वेबिनार' है, तो हम वेबिनार वेरिएबल को सत्य और अन्य दो को गलत पर सेट करते हैं।
- यदि मान === 'साझेदार' है, तो हम भागीदार चर को सत्य और अन्य दो को असत्य पर सेट करते हैं।
- यदि मान दिए गए विकल्पों में नहीं है, तो सभी गलत हैं।
आयात से अभियान '@सेल्सफोर्स/स्कीमा/अभियान' ;
आयात से टाइप करें '@salesforce/schema/Campaign.Type' ;
आयात { पिकलिस्टवैल्यू प्राप्त करें } से 'लाइटनिंग/uiObjectInfoApi' ;
आयात { getObjectInfo } से 'लाइटनिंग/uiObjectInfoApi' ;
निर्यात गलती करना कक्षा दूसरा उदाहरण का विस्तार बिजली तत्त्व {
@ ट्रैक मान ;
// वस्तु प्राप्त करें
@ तार ( getObjectInfo , { objectApiName : अभियान } )
ऑब्जेक्टइन्फो ;
// अभियान प्रकार प्राप्त करें - चयन सूची
@ तार ( पिकलिस्टवैल्यू प्राप्त करें , { रिकॉर्डटाइपआईडी : '$objectInfo.data.defaultRecordTypeId' , fieldApiName : प्रकार } )
अभियान प्रकार मान ;
सम्मलेन = असत्य ;
वेबिनारवल = असत्य ;
भागीदार = असत्य ;
अन्य = असत्य ;
// तर्क संभालें
हैंडलचेंज ( आयोजन ) {
यह . कीमत = आयोजन। लक्ष्य . कीमत ;
अगर ( यह . कीमत === 'सम्मेलन' ) {
// योजना के अनुसार स्थिति प्रदर्शित करें
यह . सम्मलेन = सत्य ;
यह . वेबिनारवल = असत्य ;
यह . भागीदार = असत्य ;
}
अन्य अगर ( यह . कीमत === 'वेबिनार' ) {
// स्थिति पूर्ण के रूप में प्रदर्शित करें
यह . वेबिनारवल = सत्य ;
यह . सम्मलेन = असत्य ;
यह . भागीदार = असत्य ;
}
अन्य अगर ( यह . कीमत === 'साझेदार' ) {
// स्थिति को प्रगति पर प्रदर्शित करें
यह . वेबिनारवल = असत्य ;
यह . सम्मलेन = असत्य ;
यह . भागीदार = सत्य ;
}
अन्य {
// स्थिति को निरस्त के रूप में प्रदर्शित करें
यह . वेबिनारवल = असत्य ;
यह . सम्मलेन = असत्य ;
यह . भागीदार = असत्य ;
}
}
}
सेकेंडकंपोनेंट.जेएस-मेटा.एक्सएमएल
संस्करण = '1.0' ?><लक्ष्य>
<लक्ष्य> बिजली__ऐपपेज < / लक्ष्य>
<लक्ष्य> बिजली__रिकॉर्डपेज < / लक्ष्य>
< / लक्ष्य>
< / लाइटनिंगकंपोनेंटबंडल>
आउटपुट:
प्रकार – “सम्मेलन” तो, स्थिति 'योजनाबद्ध' है।
प्रकार – “वेबिनार” तो, स्थिति 'पूर्ण' है।
प्रकार - 'साझेदार'। तो, स्थिति 'प्रगति में' है।
प्रकार दिए गए विकल्पों में नहीं है. तो, स्थिति 'निरस्त' है।
उदाहरण 3:
अब, हम विकल्प के रूप में अभियान रिकॉर्ड के साथ एक कॉम्बोबॉक्स बनाते हैं। यदि हम कोई विकल्प चुनते हैं, तो संबंधित अभियान प्रकार यूआई पर लौटा दिया जाएगा।
सबसे पहले, हमें getCampaign() विधि के साथ एक एपेक्स क्लास बनाने की आवश्यकता है। यह विधि आईडी, नाम, प्रकार और स्थिति के साथ सभी अभियानों की एक सूची लौटाती है।
अभियानरिकॉर्ड। एपीएक्ससीसाझा करने के साथ सार्वजनिक कक्षा अभियानरिकॉर्ड {
@ आभासक्षम ( संचित करने योग्य = सत्य )
// अभियानों की सूची प्राप्त करें
जनता स्थिर सूची < अभियान > अभियान प्राप्त करें ( ) {
वापस करना [ आईडी चुनें , नाम , प्रकार , अभियान से स्थिति ] ;
}
}
तीसरा उदाहरण.एचटीएमएल
<टेम्पलेट><लाइटनिंग-कार्ड शीर्षक = 'अभियान प्रकार' आइकन नाम = 'मानक:अभियान' >
< डिव कक्षा = 'slds-var-एम-अराउंड_मीडियम' शैली = 'ऊंचाई: 20px; चौड़ाई: 400px' >
<लाइटनिंग-कॉम्बोबॉक्स नाम = 'अभियान'
लेबल = 'अभियान का नाम चुनें'
विकल्प = { अभियानविकल्प }
कीमत = { कीमत }
परिवर्तन पर = { हैंडलऑनचेंज }
>
< / लाइटनिंग-कॉम्बोबॉक्स>
< / डिव < बीआर >
< बीआर >
< पी > इस अभियान के लिए अभियान प्रकार: < बी > {कीमत} < / बी < / पी >
< / लाइटनिंग-कार्ड>
< / टेम्पलेट>
तीसरा उदाहरण.जे.एस
- हमें उस विधि को निर्दिष्ट करने की आवश्यकता है जो कनेक्टेडकॉलबैक() विधि के अंदर अभियानों की एक सूची प्राप्त करती है। 'शिविर' नामक एक सरणी घोषित करें और परिणाम को अभियान आईडी के रूप में लेबल और अभियान प्रकार के रूप में मूल्य को संग्रहीत करें। यह सरणी अभियान नामों का इनपुट है (इसे ट्रैक डेकोरेटर के साथ बनाया जाना है)।
- कैंपेनऑप्शंस() गेट्टर विधि में, कैंपेननाम सरणी लौटाएं। तो, कॉम्बोबॉक्स इन विकल्पों का उपयोग करता है।
- चयनित मान को हैंडलऑनचेंज() हैंडलर विधि में सेट करें।
आयात से अभियान प्राप्त करें '@salesforce/apex/CampaignRecords.getCampaign' ;
निर्यात गलती करना कक्षा तीसरा उदाहरण का विस्तार बिजली तत्त्व {
कीमत = '' ;
@ अभियान नाम ट्रैक करें = [ ] ;
पाना अभियानविकल्प ( ) {
वापस करना यह . अभियाननाम ;
}
// एपेक्स से कैंप ऐरे में विकल्प जोड़ें।
// लेबल अभियान का नाम होगा
// मान अभियान प्रकार होगा
कनेक्टकॉलबैक ( ) {
अभियान प्राप्त करें ( )
. तब ( परिणाम => {
शिविर चलो = [ ] ;
के लिए ( था क = 0 ; क < परिणाम। लंबाई ; क ++ ) {
शिविर. धकेलना ( { लेबल : परिणाम [ क ] . नाम , कीमत : परिणाम [ क ] . प्रकार } ) ;
}
यह . अभियाननाम = कैम्प ;
} )
}
// मान संभालें
हैंडलऑनचेंज ( आयोजन ) {
यह . कीमत = आयोजन। विवरण . कीमत ;
}
}
आउटपुट:
आइए रिकॉर्ड का चयन करें और प्रकार देखें।
निष्कर्ष
हमने सीखा कि विशेषताओं और उदाहरणों के साथ LWC में कॉम्बोबॉक्स कैसे बनाया जाता है। सबसे पहले, हमने मानों की एक सूची के साथ एक कॉम्बोबॉक्स बनाया और चयनित मान प्रदर्शित किया। इसके बाद, हम सशर्त प्रतिपादन के माध्यम से चयनित मान के आधार पर HTML टेम्पलेट प्रस्तुत करते हैं। अंत में, हमने सीखा कि मौजूदा सेल्सफोर्स रिकॉर्ड से कॉम्बोबॉक्स के लिए विकल्प कैसे बनाएं और यूआई पर संबंधित फ़ील्ड कैसे प्रदर्शित करें।