【问题标题】:How to set dropdown value in angular 7如何在角度7中设置下拉值
【发布时间】:2025-12-11 14:15:02
【问题描述】:

我正在尝试通过使用 formcontrolname 以编程方式设置下拉值但不起作用。我在下面给出了我的代码。如何设置下拉值?任何人都可以有想法吗?请帮助找到解决方案。

app.component.html:

<p-dropdown [values]="dropdownData" fornControlName="datavalue"><p-dropdown>

app.component.ts:

dropdownData=[
{name:'UK',value:'UK'},
{name:'USA',value:'USA'},
{name:'CHINAA',value:'CHINAA'}
];

this.myform=this.fb.group({

datavalue:[null]

});

ngOnInit(){

this.myform.controls['datavalue'].setValue("USA");

}

【问题讨论】:

    标签: angular6 angular7 angular8


    【解决方案1】:

    如果您按以下方式更改setValue,这可能会起作用。

    this.myform.controls['datavalue'].setValue(dropdownData[0]);
    

    但是,您应该使用 ngModel 从模板中反转逻辑并寻址模型。

    app.component.html:

    <p-dropdown [values]="dropdownData" [(ngModel)]="selectedData"><p-dropdown>
    

    app.component.ts:

    dropdownData = [
        {name:'UK',value:'UK'},
        {name:'USA',value:'USA'},
        {name:'CHINAA',value:'CHINAA'}
    ];
    selectedData = dropdownData[0]; 
    

    【讨论】:

      【解决方案2】:

      请在您的 app.component.ts 中设置如下值:

      this.myform.controls['datavalue'].setValue("USA", { onlySelf: true });
      

      另外,请更改 app.component.html 中的代码,如下所示:-

      <p-dropdown [options]="dropdownData" fornControlName="datavalue"><p-dropdown>
      

      希望对你有所帮助。

      【讨论】:

      • 如何以编程方式设置复选框,如检查条件?
      • 能否分享您尝试动态检查复选框的代码。