Startseite>Programmierbezogen>Anderer Quellcode

i18n
Typ: Object Standard: {}
Erlauben Sie die Lokalisierung/Anpassung der über 200 Ländernamen sowie anderer Benutzeroberflächentexte (z. B. den Platzhaltertext für die Ländersucheingabe). Der einfachste Weg, dies zu tun, besteht darin, einfach eines der bereitgestellten Übersetzungsmodule zu importieren und i18n auf diesen Wert zu setzen (siehe Option 1 unten). Sie können auf diese Weise auch einen oder mehrere einzelne Schlüssel überschreiben (siehe Option 1 unten). Alternativ können Sie Ihre eigenen benutzerdefinierten Übersetzungen bereitstellen (siehe Option 2 unten). Wenn Sie Ihre eigenen angeben, müssen Sie alle Ländernamen (die aus dem Länderlistenprojekt kopiert werden können, z. B. hier sind die Ländernamen auf Französisch) sowie einige UI-Zeichenfolgen (unten aufgeführt) angeben. Siehe Beispiel.

Wenn wir eine von Ihnen benötigte Sprache derzeit nicht unterstützen, können Sie diese ganz einfach selbst beisteuern – Sie müssen nur eine Handvoll UI-Übersetzungszeichenfolgen bereitstellen, da wir die Ländernamen automatisch aus dem Länderlistenprojekt abrufen.

Option 1: Importieren Sie eines der bereitgestellten Übersetzungsmodule

 import { fr } from "intl-tel-input/i18n" ;

intlTelInput ( input , {
  i18n : fr ,
} ) ;

// or to override one or more keys, you could do something like this
intlTelInput ( input , {
  i18n : {
    ... fr ,
    searchPlaceholder : "Recherche de pays" ,
  } ,
} ) ;

Option 2: Definieren Sie Ihre eigenen benutzerdefinierten Übersetzungen

 intlTelInput ( input , {
  i18n : {
    // Country names - see the full list in src/js/intl-tel-input/i18n/en/countries.ts
    af : "Afghanistan" ,
    al : "Albania" ,
    dz : "Algeria" ,
    as : "American Samoa" ,
    ad : "Andorra" ,
    ...
    // Aria label for the selected country element
    selectedCountryAriaLabel : "Selected country" ,
    // Screen reader text for when no country is selected
    noCountrySelected : "No country selected" ,
    // Aria label for the country list element
    countryListAriaLabel : "List of countries" ,
    // Placeholder for the search input in the dropdown
    searchPlaceholder : "Search" ,
    // Screen reader text for when the search produces no results
    zeroSearchResults : "No results found" ,
    // Screen reader text for when the search produces 1 result
    oneSearchResult : "1 result found" ,
    // Screen reader text for when the search produces multiple results
    multipleSearchResults : "${count} results found" ,
  }
} ) ;

Anfangsland
Typ: String Standard: ""
Legen Sie die anfängliche Länderauswahl fest, indem Sie den Ländercode angeben, z. B. "us" für die Vereinigten Staaten. (Achten Sie darauf, dies nicht zu tun, es sei denn, Sie sind sich über das Land des Benutzers sicher, da es bei falscher Einstellung zu kniffligen Problemen führen kann und der Benutzer seine nationale Nummer automatisch ausfüllt und das Formular ohne Überprüfung absendet – in bestimmten Fällen kann die Validierung bestehen und es kann passieren, dass Sie eine Nummer mit dem falschen Vorwahlcode speichern. Sie können initialCountry auch auf "auto" setzen, wodurch das Land des Benutzers anhand seiner IP-Adresse ermittelt wird (erfordert die Option geoIpLookup – siehe Beispiel). Beachten Sie, dass bei Verwendung initialCountry die Länderauswahl nicht aktualisiert wird, wenn die Eingabe bereits eine Nummer mit einer internationalen Vorwahl enthält.

LoadUtilsOnInit (siehe Diskussion zu Version 25)
Typ: String oder () => Promise Standard: "" Beispiel: "/build/js/utils.js"

Dies ist eine Möglichkeit, die enthaltenen utils.js (verzögert) zu laden (um Formatierung/Validierung usw. zu aktivieren) – weitere Optionen finden Sie unter Laden des Dienstprogramm-Skripts. Sie müssen die Datei utils.js hosten und dann die Option loadUtilsOnInit auf diese URL setzen oder sie alternativ einfach auf eine vom CDN gehostete Version verweisen, z. B. "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" . Das Skript wird über eine dynamische Importanweisung geladen, was bedeutet, dass die URL nicht relativ sein kann, sondern absolut sein muss.

Alternativ kann dies eine Funktion sein, die ein Versprechen für das utils-Modul zurückgibt. Wenn Sie einen Bundler wie Webpack verwenden, können Sie damit dem Bundler mitteilen, dass das Utils-Skript in einer separaten Datei vom Rest Ihres Codes gespeichert werden soll. Zum Beispiel: { loadUtilsOnInit: () => import("intl-tel-input/utils") } .

Das Skript wird nur abgerufen, wenn Sie das Plugin initialisieren, und außerdem erst, wenn der Ladevorgang der Seite abgeschlossen ist (beim Fensterladeereignis), um eine Blockierung zu verhindern (das Skript ist ~260 KB groß). Beim Instanziieren des Plugins wird ein Promise-Objekt unter der promise -Instanzeigenschaft zurückgegeben, sodass Sie beispielsweise iti.promise.then(callback) ausführen können, um zu erfahren, wann solche Initialisierungsanforderungen abgeschlossen sind. Weitere Informationen finden Sie unter Dienstprogramm-Skript.

nationalMode
Typ: Boolean Standard: true
Formatieren Sie Zahlen im nationalen Format und nicht im internationalen Format. Dies gilt für Platzhalternummern und für die Anzeige vorhandener Nummern von Benutzern. Beachten Sie, dass es für Benutzer in Ordnung ist, ihre Nummern im nationalen Format einzugeben – solange sie das richtige Land ausgewählt haben, können Sie getNumber verwenden, um eine vollständige internationale Nummer zu extrahieren – siehe Beispiel. Es wird empfohlen, diese Option aktiviert zu lassen, um Benutzer dazu zu ermutigen, ihre Nummern im nationalen Format einzugeben, da ihnen dieses normalerweise vertrauter ist und somit ein besseres Benutzererlebnis bietet.

nur Länder
Typ: Array Standard: []
Zeigen Sie im Dropdown-Menü nur die von Ihnen angegebenen Länder an – siehe Beispiel.

placeholderNumberType
Typ: String Standard: "MOBILE"
Geben Sie einen der Schlüssel aus der Aufzählung intlTelInput.utils.numberType an (z. B. "FIXED_LINE" ), um den Nummerntyp festzulegen, der für den Platzhalter verwendet werden soll. Spielen Sie mit dieser Option im Storybook (mithilfe der React-Komponente).

Flaggen anzeigen
Typ: Boolean Standard: true
Setzen Sie dies auf „false“, um die Flaggen beispielsweise aus politischen Gründen auszublenden. Stattdessen wird ein allgemeines Globussymbol angezeigt. Spielen Sie mit dieser Option im Storybook (mithilfe der React-Komponente).

separateDialCode
Typ: Boolean Standard: false
Zeigen Sie die internationale Vorwahl des ausgewählten Landes neben der Eingabe an, sodass es aussieht, als wäre sie Teil der eingegebenen Nummer. Da der Benutzer die angezeigte Vorwahl nicht bearbeiten kann, versucht er möglicherweise, eine neue einzugeben. Um zu vermeiden, dass zwei Vorwahlen nebeneinander angezeigt werden, öffnen wir in diesem Fall automatisch das Länder-Dropdown und fügen die neue Vorwahl in die Sucheingabe ein stattdessen. Wenn sie also +54 eingeben, wird Argentinien im Dropdown-Menü hervorgehoben und sie können einfach die Eingabetaste drücken, um es auszuwählen, wodurch die angezeigte Vorwahl aktualisiert wird (für diese Funktion müssen allowDropdown und countrySearch aktiviert sein). Spielen Sie mit dieser Option im Storybook (mithilfe der React-Komponente).

strictMode
Typ: Boolean Standard: false
Ignorieren Sie alle irrelevanten Zeichen, während der Benutzer die Eingabe eingibt. Der Benutzer kann am Anfang nur numerische Zeichen und ein optionales Pluszeichen eingeben. Begrenzen Sie die Länge auf die maximal gültige Zahlenlänge (dies berücksichtigt validationNumberType ). Erfordert das Laden des Utils-Skripts. Siehe Beispiel.

Verwenden Sie FullscreenPopup
Typ: Boolean Standard: true on mobile devices, false otherwise
Steuern Sie, wann die Länderliste als Vollbild-Popup oder als Inline-Dropdown angezeigt wird. Standardmäßig wird es auf Mobilgeräten als Vollbild-Popup (basierend auf Benutzeragent und Bildschirmbreite) angezeigt, um den begrenzten Platz besser zu nutzen (ähnlich wie ein natives eine Fehlermeldung einfügt, wird das Layout beschädigt. Stattdessen müssen Sie es vor dem Container einfügen (mit der Klasse iti ).

Dropdown-Position
Das Dropdown-Menü sollte je nach verfügbarem Platz automatisch über/unter der Eingabe erscheinen. Damit dies ordnungsgemäß funktioniert, müssen Sie das Plugin erst initialisieren, nachdem der zum DOM hinzugefügt wurde.

Platzhalter
Um die automatischen länderspezifischen Platzhalter zu erhalten, lassen Sie einfach das Attribut placeholder im weg oder setzen Sie autoPlaceholder auf "aggressive" , um alle vorhandenen Platzhalter zu überschreiben.

Bootstrap-Eingabegruppen
Damit das Plugin gut mit Bootstrap-Eingabegruppen funktioniert, sind einige CSS-Korrekturen erforderlich. Einen Codepen können Sie hier sehen.
Hinweis: Derzeit gibt es in Mobile Safari einen Fehler, der zu einem Absturz führt, wenn Sie in einer Eingabegruppe auf den Dropdown-Pfeil (ein CSS-Dreieck) klicken. Die einfachste Lösung besteht darin, das CSS-Dreieck mit dieser Zeile zu entfernen:

. iti__arrow { border : none; }

Mitwirken

Im beitragenden Leitfaden finden Sie Anweisungen zum Einrichten des Projekts und zum Vornehmen von Änderungen sowie zum Aktualisieren auf eine neue Version von libphonenumber, zum Aktualisieren der Flaggenbilder oder zum Hinzufügen einer neuen Übersetzung.

Zuschreibungen

Benutzertests mit Unterstützung des BrowserStack Open-Source-Programms

Browsertests über

Expandieren
Zusätzliche Informationen
  • Version v24.7.0
  • Typ Anderer Quellcode
  • Aktualisierungszeit 2024-11-12
  • Größe
  • Sprache Vereinfachtes Chinesisch