2016-07-01 2 views
1

Нужна помощь с PrimeNG dropdown в Angular2 модельный привод вид. В документации PrimeNG, которую я нашел, используются только шаблонные формы.Как использовать PrimeNG Dropdown в Angular2 Model-driven form?

примера код для следующего будет в значительной степени помочь:

  1. угловой модели управляемой формы
  2. форма содержит один PrimeNG выпадающего меню и кнопки отправки.
  3. выпадающий список содержит 4 города (Москва, Стамбул, Берлин, Париж).
  4. Пользователь должен изменить выбранный город (чтобы включить кнопку «Отправить»).
  5. выпадающий список может быть программно «инициализирован», чтобы показать один из городов в списке опций (например, Берлин), когда форма открывается.

Спасибо.

+0

Вы можете написать аккуратно и чистит шаг Мудрые ваши требования .. демо было отредактировано – mayur

+0

@mayur - Я уточнил этот вопрос. Какую демонстрацию вы имеете в виду? – ebhh2001

ответ

2

использовать модель приводимой форму в Angular2 или Angular4 вас 'необходимо изменить раскрывающийся список до

<p-dropdown [options]="cities" formControlName="selectedCity"></p-dropdown> 

и экземпляр formGroup на внутреннем интерфейсе, который имеет контроль selectedCity в нем, как так ...

this.angularObjectForm = this.formBuilder.group({selectedCity: [''])} 
1

// шаблон обработка

<form id="demoForm" name="demoForm" [ngFormModel]="demoForm" (submit)="demoForm($event, demoForm)" 
method="post" action="" autocomplete="off"> 
<h3 class="first">Demo</h3> 
<p-dropdown [options]="cities" [(ngModel)]="selectedCity"></p-dropdown> 
<span *ngIf="!selectedCity"> Required </span> 
<button pButton [disabled]="!selectedCity" type="submit" (click)="onclick()" label="Click"></button> 
</form> 

// Импортировать файлы, необходимые

import {Button} from 'primeng/primeng'; 
import {Dropdown} from 'primeng/primeng'; 

// класс Handling

export class MyModel { 

    cities: SelectItem[]; 

    selectedCity: string; 

    constructor() { 
     this.cities = []; 
     this.cities.push({label:'Moscow', value:'1'}); 
     this.cities.push({label:'Istanbul', value:'2'}); 
     this.cities.push({label:'Berlin', value:'3'}); 
     this.cities.push({label:'Paris', value:'4'}); 
    } 

    public demoForm(event: Event, demoForm: ControlGroup): void { 
    event.preventDefault(); 

    // working area // 

    } 

} 
+0

Спасибо! Код относится к ngFormModel, который заставляет меня думать, что он использует старый (устаревший) API Angular2 forms. Знаете ли вы, что это будет выглядеть в Angular2 RC3 или новее, как описано [здесь] (https://docs.google.com/document/u/1/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/pub) – ebhh2001

Смежные вопросы