javascript - primeng <p-dropdown>获取先前选择的值

原文 标签 javascript angular select dropdown primeng

我想在primeng dropdown中获得先前选择的值。

<p-dropdown [options]="options" [filter]="true" [(ngModel)]="selectedType" (onChange)="onSelectType($event)" formControlName="alertType"></p-dropdown>


发生更改事件时,我想使用api检查所选类型是否有效,但如果无效,则需要还原。由于我使用的是ngModel,因此只要下拉值更改,selectedType的值就会更改。

那么如何获取先前选择的值?

最佳答案

此ngModelChange的示例示例:

app.component.html

<p-dropdown [options]="cities" [(ngModel)]="selectedCity" (ngModelChange)="onSelectType($event)"></p-dropdown>


app.component.ts

import { SelectItem } from 'primeng/primeng';

export class AppComponent {
    cities: SelectItem[];
    selectedCity: any;
    previousVal: any;
    currentVal: any;

    constructor() {
        this.cities = [{
            "label": "London",
            "value": "london"
        }, {
            "label": "USA",
            "value": "usa"
        }];
    }

   onSelectType(event) {
       if(event) {
           this.previousVal = this.currentVal;
           this.currentVal = event;
       }
       console.log('this.previousVal', this.previousVal);
       console.log('this.currentVal', this.currentVal);
   }
}


app.module.ts

import { DropdownModule } from 'primeng/primeng';

imports: [ DropdownModule ]


解决方法是使用ngModelChange;

关于javascript - primeng <p-dropdown>获取先前选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46156187/

相关文章:

html - 从 Angular 2 中的变量设置组件样式

c# - yield 返回与返回选择

javascript - 如何在 Vue 2.0 中传递对象数组来选择选项

javascript - 任何jQuery插件,如Twitter自动完成

javascript - 加载失败-跨源请求是-Angularjs 1.x-ngRoute

node.js - Angular 表单组patchValue值周围的花括号

mysql - MySQL与UTF8 VARCHAR字段不正确的查找

javascript - 如何在 AG-Grid 中配置日期渲染格式

javascript - 通过相同的ID名称分配和获取值

angular - Typescript变量中问号(?)的用途是什么?