Angular 9没有设置动态输入字段值。

问题描述 投票:0回答:1

在升级到angular 9版本后,出现了一个奇怪的问题,我正在调用一个函数,该函数返回一个值,为输入框设置默认值。[对象对象]令人惊讶的是,如果我在[placeholder]中调用同样的函数,会显示正确的返回值,我不知道,为什么在[placeholder]中工作正常,而在[value]中却不正常。

html文件

<mat-form-field>
   <input matInput formControlName="{{'item'+k}}" [placeholder]="getValue(k)"  [value]="getValue(k)" />
</mat-form-field>

ts文件

getValue(k:any) {
  let item;
  // ... some logic to get a desired value
  return item;
}
typescript angular9
1个回答
0
投票

使用输入装饰器来初始化你的输入值。

在ts文件中,设置属性值,即:this.property = item,并使用@input decorator进行初始化,然后在html中,使用ngModel指令将组件值绑定到属性。

记住,你不能在同一个元素中使用ngModel和value属性。


0
投票

你同时使用反应式表单和Value set属性,这不是首选。

请检查以下内容,如果这不是你所要求的,请提供更多的信息,以便我们能够帮助你。https:/stackblitz.comeditangular-nhcini。

© www.soinside.com 2019 - 2024. All rights reserved.