Как установить значение по умолчанию для выпадающего мультиселекта в angular 2 и ngprime



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



  <p-multiSelect [options]="cities" [(ngModel)]="selectedCities"></p-multiSelect>
696   3  

3 ответов:

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

В вашем случае свойствоvalue - это свойство object, содержащее множество свойств.

value:{id:1, name: 'New York', cityCode: 'NY'}

Решение состоит в том, чтобы map элементы массива, чтобы получить значения, которые вы хотите.

Например, это позволит предварительно выбрать кулак два items из вашего элемента выпадающего списка .

this.selectedCities = this.cities.slice(0,2).map(a => a.value));

Если вы хотите предварительно выбрать значения из массива given следует использовать метод filter.

let arrayOfValues=['NY','IST'];
this.selectedCities = this.cities.filter(a => arrayOfValues.includes(a.value.cityCode)).map(a => a.value));

Полный пример здесь.

Выбранные города хранятся в массиве selectedCities. Поскольку это двусторонняя привязка, просто заполните этот arry, он будет отражен в представлении.

import {SelectItem} from 'primeng/primeng';

let cities: SelectItem[] = [
    { label : "Rome"     , value : "ro" },
    { label : "London"   , value : "lo" },
    { label : "Paris"    , value : "pa" },
    { label : "New York" , value : "ny" }
]

let selectedCities: string[] = ["lo", "ny"] // This will pre-select the cities in your dropdown

Есть хороший способ вы можете определить значение для каждого из ваших параметров. Затем задайте переменной selectedCities значение, которое вы хотите получить как defult. Это позволит сделать угловой, чтобы выбрать этот вариант Vale на инициализации.

let Cities: SelectItem[] = [
    { label : "Rome"     , value : "ro" },
    { label : "London"   , value : "lo" },
    { label : "Paris"    , value : "pa" },
    { label : "New York" , value : "ny" }
]

selectedCity = "ro";

Это приведет к тому, что выбранный calue будет дефолтировать Рим.

(*Спасибо Джереми Тиллу. Я скопировал у тебя часть своего кода.)

Comments

    Ничего не найдено.