Wenn Sie in Salesforce LWC dem Benutzer die Auswahl einer Option aus der angegebenen Optionsliste ermöglichen möchten, wird die Kombinationsbox verwendet. In dieser Anleitung besprechen wir anhand von Beispielen, wie man eine Combobox erstellt und welche verschiedenen Attribute die Combobox unterstützt.
Kombinationsfeld
Grundsätzlich handelt es sich bei einer Combobox um ein schreibgeschütztes Feld, das eine Eingabe zur Auswahl einer Option aus den angegebenen Optionen bietet. Wir können dies mit dem Lightning-Combobox-Tag erstellen. Die Attribute sind nacheinander Geschwindigkeit, getrennt durch Leerzeichen. Lassen Sie uns einige Attribute besprechen, die beim Erstellen einer Combobox erforderlich sind.
- Etikett – Hiermit geben Sie die Beschriftung (Text) für Ihre Combobox an.
- Optionen – Jede Option übernimmt die Attribute „label“ und „value“. Wir können die mehreren Optionen in einer durch Komma getrennten Liste angeben.
- Platzhalter : Bevor der Benutzer eine Option auswählt, muss er die Informationen zu den Optionen kennen. Daher ist dieses Attribut angegeben.
- erforderlich : In manchen Fällen ist es obligatorisch, die Option auszuwählen. Wir können es durch die Angabe dieses Attributs erforderlich machen.
- deaktiviert : Es kann möglich sein, den Benutzer zu verhindern, indem er die Option aus dem Kontrollkästchen auswählt. Dieses Attribut deaktiviert die Combobox.
Syntax:
Sehen wir uns an, wie man eine Combobox mit einigen wichtigen Attributen erstellt.
label='label_name'
value={value_from_the_option}
placeholder='Hilfetext'
Optionen={List_of_options}
onchange={handleChange} >
Spezifikation:
Sehen wir uns die Schritte zum Erstellen der Combobox und zum Arbeiten damit an.
Erstellen Sie in der JavaScript-Datei eine Liste von Optionen mit Beschriftung und Wert innerhalb der „Getter“-Methode.
Erstellen Sie eine Variable, die die Standardoption speichert.
Schreiben Sie die Handle-Funktion, die die vom Benutzer auf der Benutzeroberfläche ausgewählte Option speichert.
Erstellen Sie in der HTML-Datei eine Combobox und übergeben Sie die Attribute. Außerdem müssen wir den Ereignishandler onchange() übergeben, der die Optionen in der Combobox verarbeitet. Es verwendet die Funktion „Handler“, die in der Datei „js“ erstellt wurde.
In allen Beispielen, die wir in diesem Handbuch besprechen werden, wird die Logik als „js“-Code bereitgestellt. Danach geben wir den Screenshot an, der den gesamten „js“-Code enthält.
Beispiel 1:
Erstellen Sie in der Javascript-Datei eine Combobox mit fünf Themen (Details). Geben Sie den Standardwert „JAVA“ an. Behandeln Sie die Combobox in der Methode handleSubjectsOnChange(). Übergeben Sie den Wert und die Details mit einer Bezeichnung an die Attribute „Wert und Optionen“ in der HTML-Datei und stellen Sie die Komponente bereit.
erstesBeispiel.html
< div Klasse = „slds-var-m-around_medium“ >
Etikett = „Wählen Sie Ihr Thema:“
Wert = { Wert }
Optionen = { Einzelheiten }
bei Änderung = { handleSubjectsOnChange } >< / Lightning-Combobox>
< br >
< P > Dein Fach: < B > {Wert} < / B >< / P >
< / div >
< / Blitzkarte>
< / Vorlage>
firstExample.js
// Standardwert „JAVA“ für die Combobox erstellenWert = 'JAVA' ;
// Zeige die Themen
erhalten Einzelheiten ( ) {
// 5 Fächer
zurückkehren [ { Etikett : 'Java' , Wert : 'JAVA' } ,
{ Etikett : 'Python' , Wert : 'PYTHON' } ,
{ Etikett : 'HTML' , Wert : 'HTML' } ,
{ Etikett : 'C' , Wert : 'C' } ,
{ Etikett : 'C++' , Wert : 'C++' } ] ;
}
// Behandeln Sie die Logik, um den Wert festzulegen
handleSubjectsOnChange ( Ereignis ) {
Das . Wert = Ereignis. Detail . Wert ;
}
}
Gesamter Code:
firstComponent.js-meta.xml
Ausführung = „1,0“ ?>< / Ziele>
< / LightningComponentBundle>
Ausgabe:
Fügen Sie diese Komponente zur Seite „Datensatz“ eines beliebigen Objekts hinzu. In der HTML-Datei zeigen wir den Wert im Absatz-Tag an. Wenn ein Benutzer eine Option auswählt, wird diese fett angezeigt. Standardmäßig wird „JAVA“ ausgewählt und angezeigt, nachdem die Komponente auf der Seite gerendert wurde.
Wählen wir als Betreff „C“. „C“ wird unterhalb der Combobox zurückgegeben.
Beispiel 2:
In diesem Beispiel rendern wir die verschiedenen Komponenten basierend auf den Werten der Auswahlliste „Kampagnentyp“ (aus dem Kampagnenobjekt).
- Wenn der Kampagnentyp „Konferenz“ ist, rendern wir die Vorlage, die den Text zurückgibt – Kampagnenstatus: GEPLANT
- Wenn der Kampagnentyp „Webinar“ ist, rendern wir die Vorlage, die den Text zurückgibt – Kampagnenstatus: ABGESCHLOSSEN
- Wenn der Kampagnentyp „Partner“ lautet, rendern wir die Vorlage, die den Text zurückgibt – Kampagnenstatus: IN BEARBEITUNG
- Kampagnenstatus: Abgebrochen für die restlichen Optionen.
zweites Beispiel.html
< div Klasse = „slds-var-m-around_medium“ Stil = „Höhe:20px; Breite:400px“ >
Optionen = { CampaignTypeValues. Daten .Werte }
bei Änderung = { handleChange } >
< / Lightning-Combobox>
< / Vorlage>< br / >
< / div >
< br >< br >
< Center > Kampagnenstatus: < B >< ich >GEPLANT< / ich >< / B > < / Center >
< / Vorlage>
= { Webinarval } >
< Center > Kampagnenstatus: < B >< ich > ABGESCHLOSSEN< / ich >< / B > < / Center >
< / Vorlage>
= { Partnerval } >
< Center > Kampagnenstatus: < B >< ich > IN BEARBEITUNG< / ich >< / B > < / Center >
< / Vorlage>
< Center > Kampagnenstatus: < B >< ich >ABGEBROCHEN< / ich >< / B > < / Center >
< / Vorlage>
< / Blitzkarte>
< / Vorlage>
secondExample.js
Wir importieren das Campaign-Objekt (Standard) als CAMPAIGN und Type daraus als TYPE. Aus der Lightning/uiObjectInfoApi importieren wir getPicklistValues und getObjectInfo. Diese erhalten die im Feld „Typ“ verfügbaren Auswahllistenwerte. Diese werden als Optionen für die Combobox verwendet. Folgendes wird in handleChange() behandelt.
- Wenn der Wert === „Konferenz“ ist, setzen wir die Variable „conferenceval“ auf „true“ und die anderen beiden auf „false“.
- Wenn der Wert === „Webinar“ ist, setzen wir die Webinarval-Variable auf „true“ und die anderen beiden auf „false“.
- Wenn der Wert === „Partners“ ist, setzen wir die Variable partnerval auf true und die anderen beiden auf false.
- Wenn der Wert nicht in den angegebenen Optionen enthalten ist, sind alle falsch.
importieren KAMPAGNE von '@salesforce/schema/Campaign' ;
importieren TYP von '@salesforce/schema/Campaign.Type' ;
importieren { getPicklistValues } aus 'lightning/uiObjectInfoApi' ;
importieren { getObjectInfo } aus 'lightning/uiObjectInfoApi' ;
Export Standard Klasse ZweitesBeispiel erweitert LightningElement {
@ Wert verfolgen ;
// Holen Sie sich das Objekt
@ Draht ( getObjectInfo , { objectApiName : KAMPAGNE } )
ObjektInfo ;
// Holen Sie sich den Kampagnentyp – Auswahlliste
@ Draht ( getPicklistValues , { recordTypeId : '$objectInfo.data.defaultRecordTypeId' , fieldApiName : TYP } )
CampaignTypeValues ;
Konferenzval = FALSCH ;
Webinarval = FALSCH ;
Partnerval = FALSCH ;
andere = FALSCH ;
// Logik verarbeiten
handleChange ( Ereignis ) {
Das . Wert = Ereignis. Ziel . Wert ;
Wenn ( Das . Wert === 'Konferenz' ) {
// Status als GEPLANT anzeigen
Das . Konferenzval = WAHR ;
Das . Webinarval = FALSCH ;
Das . Partnerval = FALSCH ;
}
anders Wenn ( Das . Wert === „Webinare“ ) {
// Status als ABGESCHLOSSEN anzeigen
Das . Webinarval = WAHR ;
Das . Konferenzval = FALSCH ;
Das . Partnerval = FALSCH ;
}
anders Wenn ( Das . Wert === 'Partner' ) {
// Status als IN PROGRESS anzeigen
Das . Webinarval = FALSCH ;
Das . Konferenzval = FALSCH ;
Das . Partnerval = WAHR ;
}
anders {
// Status als IN ABORTED anzeigen
Das . Webinarval = FALSCH ;
Das . Konferenzval = FALSCH ;
Das . Partnerval = FALSCH ;
}
}
}
secondComponent.js-meta.xml
Ausführung = „1,0“ ?>< / Ziele>
< / LightningComponentBundle>
Ausgabe:
Typ – „Konferenz“. Der Status lautet also „GEPLANT“.
Typ – „Webinar“. Der Status lautet also „ABGESCHLOSSEN“.
Typ – „Partner“. Der Status lautet also „IN PROGRESS“.
Der Typ ist nicht in den bereitgestellten Optionen enthalten. Der Status lautet also „ABORTED“.
Beispiel 3:
Jetzt erstellen wir eine Combobox mit den Kampagnendatensätzen als Optionen. Wenn wir eine Option auswählen, wird der entsprechende Kampagnentyp auf der Benutzeroberfläche zurückgegeben.
Zuerst müssen wir eine Apex-Klasse mit der Methode getCampaign() erstellen. Diese Methode gibt eine Liste aller Kampagnen mit ID, Name, Typ und Status zurück.
Kampagnenaufzeichnungen. apxcöffentlich mit Teilen Klasse Kampagnenaufzeichnungen {
@ AuraEnabled ( zwischenspeicherbar = WAHR )
// Liste der Kampagnen abrufen
öffentlich statisch Aufführen < Kampagne > getCampaign ( ) {
zurückkehren [ SELECT-ID , Name , Typ , Status der Kampagne ] ;
}
}
drittes Beispiel.html
< div Klasse = „slds-var-m-around_medium“ Stil = „Höhe:20px; Breite:400px“ >
Etikett = „Kampagnennamen auswählen“
Optionen = { Kampagnenoptionen }
Wert = { Wert }
bei Änderung = { handleonchange }
>
< / Lightning-Combobox>
< / div >< br >
< br >
< P > Kampagnentyp für diese Kampagne: < B > {Wert} < / B >< / P >
< / Blitzkarte>
< / Vorlage>
ThirdExample.js
- Wir müssen die Methode angeben, die eine Liste von Kampagnen innerhalb der Methode connectedcallback() abruft. Deklarieren Sie ein Array mit dem Namen „camps“ und speichern Sie das Ergebnis mit der Bezeichnung als Kampagnen-ID und dem Wert als Kampagnentyp. Dieses Array ist die Eingabe für die Kampagnennamen (diese muss mit dem Track Decorator erstellt werden).
- Geben Sie in der Getter-Methode Campaignoptions() das Array CampaignNames zurück. Daher verwendet Combobox diese Optionen.
- Legen Sie den ausgewählten Wert in der Handler-Methode handleonchange() fest.
importieren getCampaign von '@salesforce/apex/CampaignRecords.getCampaign' ;
Export Standard Klasse Drittes Beispiel erweitert LightningElement {
Wert = '' ;
@ Kampagnennamen verfolgen = [ ] ;
erhalten Kampagnenoptionen ( ) {
zurückkehren Das . Kampagnennamen ;
}
// Füge die Optionen vom Apex zum Camps-Array hinzu.
// label ist der Kampagnenname
// Wert ist der Kampagnentyp
connectedCallback ( ) {
getCampaign ( )
. Dann ( Ergebnis => {
Lager lassen = [ ] ;
für ( War k = 0 ; k < Ergebnis. Länge ; k ++ ) {
Lager. drücken ( { Etikett : Ergebnis [ k ] . Name , Wert : Ergebnis [ k ] . Typ } ) ;
}
Das . Kampagnennamen = Lager ;
} )
}
// Behandeln Sie den Wert
handleonchange ( Ereignis ) {
Das . Wert = Ereignis. Detail . Wert ;
}
}
Ausgabe:
Wählen wir den Datensatz aus und sehen uns den Typ an.
Abschluss
Wir haben gelernt, wie man in LWC eine Combobox mit Attributen und Beispielen erstellt. Zuerst haben wir eine Combobox mit einer Werteliste erstellt und den ausgewählten Wert angezeigt. Als nächstes rendern wir die HTML-Vorlage basierend auf dem ausgewählten Wert durch das bedingte Rendering. Zuletzt haben wir gelernt, wie man die Optionen für die Combobox aus den vorhandenen Salesforce-Datensätzen erstellt und die zugehörigen Felder auf der Benutzeroberfläche anzeigt.