angular - 如何以编程方式更改下拉值
问题描述
我有一个下拉菜单,我想在单击按钮时更改组件文件中的下拉值
<select
id="currentPeriodDropDown"
(change)="onCurrentSnapshotPeriodChange()"
[(ngModel)]="currentSnapshotPeriod"
class="form-control form-control-sm mr-1 form-control-sm-ipad"
>
<option [ngValue]="period" *ngFor="let period of snapshotPeriods"
>{{ period?.periodName }}
</option>
</select>
我想在不从下拉列表中选择选项的情况下更改组件文件中的值。
解决方案
您需要另一个变量,然后将其设置为空。然后选择中的显示是那个变量,如果不是空的,或者另一个,如果是。例子:
TS 文件:
var displayInSelect: string;
buttonClicked() {
this.displayInSelect = 'Whatever You Want';
}
然后你的 HTML 是:
<select id="currentPeriodDropDown"
(change)="onCurrentSnapshotPeriodChange()"
[(ngModel)]="currentSnapshotPeriod"
class="form-control form-control-sm mr-1 form-control-sm-ipad">
<option [ngValue]="period" *ngFor="let period of snapshotPeriods">
{{ displayInSelect?displayInSelect:(period?.periodName) }}
</option>
</select>
然后按钮(单击)将调用函数“buttonClicked”
请注意,这不会更改您选择的选项,只会更改选择中显示的值
推荐阅读
- python - 没有名为 X 的模块,即使它在那里
- macos - 如果我将一堆 curl 命令放入 .sh 文件并运行它,它会运行这些命令吗?
- c# - for循环内的MVC RadioButton不起作用
- python - 如何将十六进制转换为 utf-8?
- wpf - 清除 UI 上的文本框时,转换器不会触发
- c# - 在if语句条件中声明并赋值一个变量,在语句体中复用
- c - 我不明白这个名为“缓冲区溢出”的错误
- azure - 从 webapp 中分离 azure slot
- python - pycharm,pydev调试器,增加内存使用
- javascript - Mongoose 难以理解如何正确使用 promises/async await