我试图重置文本框值。试图设置类型字符串|数字的变量,但我得到一个错误。那么如何在打字稿中将两种类型设置为单个变量。请帮助找到解决方案。
resetFn() {
var values = Object.values(this.selVal);
var elements = document.getElementsByTagName("input");
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == "text") {
elements[i].value = "";
elements[i].value = values[i]; // getting error
}
}}
错误:
元素[i]. value=值[i];
类型“string | number”不可分配给类型“string”。类型“number”不可分配给类型“string”
演示:https://stackblitz.com/edit/angular-dzxsg4?file=src/app/app.component.ts
我会用反应式的形式,然后做这样的事情:
export class AppComponent {
name = "Angular";
formGroup = new FormGroup({
name: new FormControl('Test'),
gender: new FormControl('Male'),
id: new FormControl(1)
});
selVal = {
name: "Test",
gender: "Male",
id: 1
};
resetFn() {
this.formGroup.reset();
// or
this.formGroup.get('name').setValue('Test');
this.formGroup.get('gender').setValue('Male');
this.formGroup.get('id').setValue(0);
}
updateFn() {
this.selVal = { ...this.formGroup.value }
}
}
在模板中:
<tbody [formGroup]="formGroup">
<tr *ngFor="let item of selVal | keyvalue">
<td>{{item.key}}</td>
<td><input type="text" [formControlName]="item.key"></td>
</tr>
</tbody>
如何在typescript中迭代字符串文字类型? 例如我定义这种类型 我想这样迭代 或者这在打字稿中根本不可能?
我有一个枚举,我想让这些枚举类型在开关情况下成为字符串。 因此,在上面我硬编码“Mon”,而不是有一种方法,我们可以直接将枚举类型作为字符串。就目前而言,如果我在交换机案例中传递枚举类型,我将获得id 0、1或2,但我需要Mon/Tue/Wed作为字符串
我学习打字稿。我想设置组件功能道具类型。但我不知道如何设置。 这是代码。 我不想设置“任何”。我设置了什么类型?
你能告诉我如何在typescript+angular中检查变量的类型吗?