Как использовать панель поиска в выпадающем списке в Ionic2

#angular #ionic2

#angular #ionic2

Вопрос:

Я пытаюсь создать регистрационную форму, в которой у меня есть выпадающий список стран, который имеет очень большой размер. Я хочу включить опцию поиска в верхней части выпадающего списка, чтобы обеспечить удобство доступа. Кто-нибудь может мне помочь с этим? Вот мой код:

home.html

 <ion-header>
  <ion-navbar>
    <ion-title>Home</ion-title>
  </ion-navbar>
</ion-header>
<ion-content padding>

<form [formGroup]="myForm">   
    <ion-item>
        <ion-label>Dropdown1 :</ion-label>
        <ion-select formControlName="dd" (ionChange)='f($event)'  #dd>
            <ion-searchbar></ion-searchbar>
            <ion-option value='1'>A</ion-option>
            <ion-option value='2'>B</ion-option>
            <ion-option value='3'>C</ion-option>
            <ion-option value='4'>D</ion-option>
        </ion-select>
    </ion-item>



</form> 
</ion-content>
  

home.ts

 import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController) {

  }

  function f(event){
  alert(event);

  }

}
  

Комментарии:

1. привет, вы нашли обходной путь для этого?

Ответ №1:

Я бы предложил другой подход к этой проблеме. Вместо того, чтобы использовать выпадающий список для выбора страны, вы можете использовать эту классную ng2-bootstrap функцию под названием TYPEAHEAD. Как это работает? У вас есть простое поле ввода, и все, что вам нужно сделать, это просто начать вводить название вашей страны, достаточно даже одного символа, и появится список, или вы можете создать всплывающий список по щелчку мыши, а затем фильтровать результаты, когда пользователь что-то вводит. Я предлагаю также добавить placeholder , чтобы пользователи лучше понимали, как это работает, возможно, «Начните вводить, и появится ваша страна» или что-то в этом роде. Вы можете проверить, как это работает здесь, и вы можете найти инструкции по установке ng2-bootstrap здесь.

Комментарии:

1. Спасибо Стефану за вашу помощь

Ответ №2:

Вопрос очень общий. Я бы предположил, что вы задали что-то, с чем вы не можете справиться после того, как попытаетесь выполнить свою задачу.

В любом случае есть точно такой же пример, который вы пытаетесь сделать в Ionic Docs

UPD:

Принимая во внимание ваши комментарии и обновление вопросов, лучшим решением было бы создать свой пользовательский компонент с панелью поиска и списком элементов с флажками. Вы можете сделать это выпадающим списком или отобразить его в ионном модальном компоненте. Вы можете заставить его работать с ngModel или просто возвращать выбранные значения.

Комментарии:

1. Я пытался это сделать, но я ничего не смог добиться, поэтому я не опубликовал код. И я ссылался на эту ссылку. Она предназначена для поиска в списке, но я указал выпадающий список.

2. Хорошо, итак, где вы хотите панель поиска? Внутри ion-select ? Я не думаю, что это хорошая идея для изменения ионного компонента.. по крайней мере, таким образом.