【发布时间】:2021-12-21 00:23:21
【问题描述】:
我正在尝试在用户单击按钮时添加新的下拉菜单。由于我是 Angular(打字稿)的新手,因此尝试创建其他属性字段时遇到了一些困难。我不确定使用由 ngFor 控制的数组来跟踪新添加的下拉列表是否更好。任何建议表示赞赏
html
<h3>Attribute</h3>
<button>Add new Attribute</button>
<select (change)="updateAttributeSelected($event)">
<option *ngFor="let attribute of this.attributes" [value]="attribute">
{{ attribute }}
</option>
</select>
<div id="divider">
<h3 id="groupValue">Select group value</h3>
<select (change)="updateSelectedGroupValue($event)">
<option *ngFor="let value of this.groupValues" [value]="value">
{{ value }}
</option>
</select>
<div></div>
<h3>Statement</h3>
<input type="text" [value]="this.attributeField" />
</div>
<div>-------------</div>
<div>
Console Area
<div></div>
</div>
ts 代码
export class DropDownComponent {
groupValues = ['All Values', 'Explicit Values', 'Ranges'];
attributes = ['startTimeIso', 'speedTime', 'subscriberId', 'chargeNumber'];
public elements: Array<string>;
public attributeSelected = this.attributes[0];
public selected = this.groupValues[0];
public attributeField: string;
public groupTypeValue: string;
public allValues: AllValues;
constructor() {
this.attributeField = '';
this.elements = new Array<string>();
this.setDefaultAttribute();
}
public setDefaultAttribute() {
let baseAttribute = this.attributeField;
return baseAttribute;
}
public updateSelectedGroupValue(value) {
this.selected = value.target.value;
this.groupTypeValue = this.selected;
}
public updateAttributeSelected(field) {
this.attributeSelected = field.target.value;
this.attributeField = this.attributeSelected;
}
public buildAllValues() {
this.allValues.buildFacet(this.attributeField, groupType.ALL_VALUES);
}
}
【问题讨论】:
标签: html angular typescript ngfor