gpt4 book ai didi

javascript - Angular2 ngModel 更改输入类型 ="number"上的绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 17:39:41 25 4
gpt4 key购买 nike

我有一个数字类型的输入,当我尝试使用 onChange 事件更改值时,它不起作用。

我已经对文本输入进行了相同的尝试,并且效果很好。

<input
type="number"
[(ngModel)]="element.value"
(change)="onChange($event)"
>

export class NumFieldComponent {
@Input() index;
@Input() element; //element.value = 0

onChange($event){

var confirm = confirm("Are you sure about this?")

if(confirm){
//True, accept the value
} else {
this.element.value = 0;
//Failed, set the input back to 0
}
}
}

我是 Angular2 的新手,所以我在这里缺少什么?

附言。我在使用 bool 值的输入中看到了类似的问题

最佳答案

更改为单向绑定(bind)对我来说很有效,如果用户也取消了,则不触发更改会更干净(请注意,如您所见,我仍然必须手动更新 DOM):

<input
type="number"
[ngModel]="element.value" // one way binding
(change)="onChange($event)"
>

export class NumFieldComponent {
@Input() index;
@Input() element; //element.value = 0

onChange($event){

var confirm = confirm("Are you sure about this?")

if(confirm){
this.element.value = $event.target.value
} else {
$event.target.value = 0;
//Failed, set the input back to 0
}
}
}

关于javascript - Angular2 ngModel 更改输入类型 ="number"上的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40031597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com