如何在角度2和ngprime中设置下拉式多选的默认值

时间:2017-09-26 11:32:14

标签: javascript angular drop-down-menu primeng

我正在关注PrimeNg Example 。这里是Plunker。如何在下拉列表中预先选择一些值。

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

3 个答案:

答案 0 :(得分:8)

您只需要将数组值附加到<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/current_task_status_view" android:layout_width="match_parent" android:gravity="center" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@android:color/white" android:clickable="true"> <TextView android:id="@+id/bottom_sheet_finish" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:fontFamily="sans-serif" android:paddingBottom="20dp" android:paddingTop="20dp" android:text="ЗАВЕРШИТЬ" android:textColor="#2a2a2a" android:textSize="14sp" android:layout_marginRight="30dp" android:textStyle="normal" /> <TextView android:id="@+id/bottom_sheet_time" android:layout_width="0dp" android:layout_weight="1" android:gravity="center" android:layout_height="wrap_content" android:layout_centerVertical="true" android:fontFamily="sans-serif" android:lineSpacingExtra="17sp" android:textColor="#626262" android:textSize="13sp" android:textStyle="normal" tools:text="22:34:21" /> </LinearLayout> 变量,以便将其绑定到模型。

在您的情况下,属性是selectedCities,其中包含许多属性。

object

解决方案是value:{id:1, name: 'New York', cityCode: 'NY'} 数组项,以获得所需的值。

例如,这将从下拉列表元素中预选第一个两个 map

items

如果您要预先选择this.selectedCities = this.cities.slice(0,2).map(a => a.value)); 数组中的值,则应使用given方法。

filter

答案 1 :(得分:2)

所选城市存储在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

答案 2 :(得分:0)

有一个好方法 您可以为每个选项定义值。 然后将变量selectedCities定义为您想要作为defult的值。 它将使角度在初始化时选择该值。

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

selectedCity = "ro";

这会将选定的calue设置为defult Rome。

(*感谢Jeremy Thille。我从你那里复制了部分代码。)