Angular 8下拉选择的选项没有显示,这是怎么回事?

标签 angular typescript drop-down-menu html-select

这个问题经常被问到。我的情况显然与其他人不同,因为我无法从现有答案中找到解决方案。

我有这个代码:

<form (ngSubmit)="getExceptions(f)" #f="ngForm">
          <div class="row">
            <div class="form-group col-xs-3 col-sm-3">
              <label class="col-form-label" for="aantal">Aantal meldingen per pagina?</label>
              <select name="selectedQuantity" id="aantal" class="form-control" ngModel>
                <option *ngFor="let option of options" [value]="option">{{option}}</option>

              </select>
            </div>
.
.
.
</form>

选项定义为:

private options: string[] = ['10', '20', '50'];

我想将“10”显示为默认选定值,但无论我做什么,下拉列表都会显示选定值的空白。单击下拉菜单会显示值 10、20 和 30。因此它已正确填充。

我尝试了什么:

<option *ngFor="let option of options" [value]="option" [selected]="option==10">{{option}}
</option>

<option [value]="10" [selected]="true == true">10</option>
<option [value]="20">20</option>
<option [value]="50">50</option>

<option [value]="10" selected>10</option>
<option [value]="20">20</option>
<option [value]="50">50</option>

它与绑定(bind)有关,因为如果我从选择标记中删除“ngModel”,它会显示我想要用作默认值的值(10)。有点。我无法再读取所选值,但显示默认值。

我从未使用 plunkr 做过任何事情,但会尝试在那里找到一个示例,然后将链接粘贴到此处。

最佳答案

尝试像这样设置ngModel:

.ts

  private options: string[] = ["10", "20", "50"];
  selectedQuantity = "10";

.html

<select name="selectedQuantity" id="aantal" class="form-control" [(ngModel)]="selectedQuantity">
    <option *ngFor="let option of options" [value]="option" >{{option}}</option>
</select>

<强> Working Demo

关于Angular 8下拉选择的选项没有显示,这是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59300845/

相关文章:

Angular - this.function 不是一个函数

angularjs - 如何使用 Angular JS 设置下拉列表控件的选定选项

angular - 找不到管道 'translate',angular2 组件测试

angular - 从 Angular 6 迁移到 Angular 7

javascript - Typescript 导出模块错误

node.js - typescript 不加载 Handlebars 文件

javascript - 使用 HTML 下拉菜单调用 Javascript 函数

HTML 下拉多列

javascript - 使用 ngfor 显示二维数组

javascript - 为什么 Angular 2 或 Angular 4 使用香蕉括号?有什么具体原因吗?为什么他们不遵循与 Angular 1 相同的模式?