【发布时间】:2020-09-23 07:02:06
【问题描述】:
大家,
希望你能帮我解决我的问题。
我目前正在通过 JSON 生成一组输入。 如果我在web界面修改数据就没有问题了。
当任何输入的值出现问题时,我在组件中修改它,例如在函数中。
它不会检测到更改。我已经在这里搜索了信息,但我还没有找到解决方案。
我给你一个链接,你可以在其中查看代码和我遇到的问题。
【问题讨论】:
标签: angular typescript angular-material angular-ngmodel
大家,
希望你能帮我解决我的问题。
我目前正在通过 JSON 生成一组输入。 如果我在web界面修改数据就没有问题了。
当任何输入的值出现问题时,我在组件中修改它,例如在函数中。
它不会检测到更改。我已经在这里搜索了信息,但我还没有找到解决方案。
我给你一个链接,你可以在其中查看代码和我遇到的问题。
【问题讨论】:
标签: angular typescript angular-material angular-ngmodel
您需要在模板中使用适当的绑定:
设置值[ngModel]="form[inputs.value.name] || inputs.value.default",允许使用默认值。
更新我们需要监听输出的值(ngModelChange)="form[inputs.value.name] = $event"。
<input
matInput
type="number"
id={{inputs.value.name}}
[ngModel]="form[inputs.value.name] || inputs.value.default"
(ngModelChange)="form[inputs.value.name] = $event"
placeholder={{inputs.value.minimum}}
min={{inputs.value.minimum}}
max={{inputs.value.maximum}}
step={{inputs.value.step}}
matTooltip="{{inputs.value.title}}: {{inputs.value.description}}"
matTooltipPosition="before"
style="text-align: right;"
/>
【讨论】:
ngOnInit 中将默认值设置为form。
ngOnInit() { for (let variable in this.json.properties){ this.form[variable]=this.json.properties[variable].default; } } 并删除 || inputs.value.default stackblitz