我在模板里有这个:
<input [(ngModel)]="model" (ngModelChange)="cleanseModel($event)">
控制器里有这样的东西:
model: string; cleanseModel(value: string) { this.model = value.replace(/[^A-Za-z0-9]/g, '').substr(0, 4); }
不幸的是,输入没有被清除!我进去了 12345 输入将有 12345 . 我可以把 {{model}} 在模板中,并正确显示(即 1234 ),但我无法理解这些信息。
12345
{{model}}
1234
如何更新输入?
你需要使用 this.
this.
cleanseModel(value: string) { this.model = value.substr(0, 4); }
更新:
像这样试试,
<input [ngModel]="model" name="carData" (input)="model = deleteInputStream($event)"/> {{carData}} <br/>
在component.ts中
deleteInputStream(data) { return data.target.value = data.target.value.replace(/[^A-Za-z0-9]/g, '').substr(0, 4); }
STACKBLITZ DEMO