javascript - Angular 2下拉列表默认值

标签 javascript angular angular2-forms primeng

我有一个从数据库中获取值的下拉列表,我想要一个默认值,例如“选择一个项目”。我该怎么做?

HTML代码

<div class="ui-grid-row">
    <div class="ui-grid-col-2">
        Period :
    </div>
    <div class="ui-grid-col-4">
        <p-dropdown [options]="periodids" formControlName="periodid" [(ngModel)]="periodid" [autoWidth]="false" [style]="{'text-align': 'left'}"></p-dropdown>
    </div>
</div>

从数据库填充下拉列表

populatePeriod() {
    this.periodids = [];
    this.periodservice.getPeriods().then(returneddata => {
        for (let i = 0; i < returneddata.length; i++) {
            this.periodids.push({ label: returneddata[i].PeriodName, value: returneddata[i].Id });
        }
    });
    //console.log(this.periodids)
}

最佳答案

PrimeNG documentation 中的示例建议您将其添加到您的选项数组中:

populatePeriod() {
    this.periodids = [{ label: "Select an item...", value: null }]; // <-- here

    this.periodservice.getPeriods().then(returneddata => {
        for (let i = 0; i < returneddata.length; i++) {
            this.periodids.push({ label: returneddata[i].PeriodName, value: returneddata[i].Id });
        }
    });

    console.log(this.periodids)
}

关于javascript - Angular 2下拉列表默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41799073/

相关文章:

Javascript、Promises 和 setTimeout

arrays - 使用 formBuilder Angular 2 在 formArray 内动态 formGroup

angular - 在 Angular 2 中使用模板驱动表单和 NgFor 进行单选按钮验证

Angular 属性指令表单输入

javascript - 如何定位子菜单元素(xpath、className 或 css 定位器)

javascript - Fancybox 未关闭

javascript - NodeJs 在执行测试用例时用 Jest 错误表达 MongoDB

javascript - Angular 6 + Ngrx 状态值更新而不使用操作

javascript - AngularJs 2 : How to debug a service call?(es6 语法)

Angular2 将数据传递给点击处理程序