Я использую ngx-intl-tel-input для того, чтобы иметь поле международного телефонного номера в моем проекте Angular 7
.
Я хотел бы иметь возможность установитьстрана по умолчанию для раскрывающегося списка (и, следовательно, сопровождающий заполнитель) либо:
с использованием кода страны, предоставленного пользователем в другой области формы, либо
, если не указано иное, с использованием кода страны IP-адреса пользователя
На основании документации для этого пакета я не вижу способаустановить страну по умолчанию, только способ установки предпочтительных стран для раскрывающегося списка и автоматического выбора первой страны в этом массиве
Любые мысли о том, как этого добиться, кроме очевидного обходного пути динамического введения желаемогозначение для страны по умолчанию в первом индексе массива preferredCountries
?
** Обновление ** Причина, по которой я не хотел использовать для этого массив preferredCountries
, потому что тогда мне понадобится егодинамически.Я не смог найти способ изменить выпадающие страны вживую, так как компонент ngx-intl-tel-input устанавливает страны, перечисленные в preferredCountries
, путем реализации OnInit
ngOnInit() {
this.fetchCountryData();
if (this.preferredCountries.length) {
this.preferredCountries.forEach(iso2 => {
const preferredCountry = this.allCountries.filter((c) => {
return c.iso2 === iso2;
});
this.preferredCountriesInDropDown.push(preferredCountry[0]);
});
}
if (this.onlyCountries.length) {
this.allCountries = this.allCountries.filter(c => this.onlyCountries.includes(c.iso2));
}
if (this.preferredCountriesInDropDown.length) {
this.selectedCountry = this.preferredCountriesInDropDown[0];
} else {
this.selectedCountry = this.allCountries[0];
}
Если выЯ знаю, как обойти эту проблему, я был бы рад использовать массив preferredCountries
для достижения желаемого поведения, однако вышеизложенное препятствует мне в этом на данный момент.