gpt4 book ai didi

javascript - 如何在评估输入字段之前等待

转载 作者:太空狗 更新时间:2023-10-29 18:27:31 25 4
gpt4 key购买 nike

我有一个产品字段,它的数量取决于另一个产品的数量(不能小于 70%,也不能大于 100%)。问题是,它的评估速度如此之快,以至于如果主字段是“100”,我不能在另一个字段中输入 75,因为我首先需要输入“7”,而我的代码认为它小于 70% 并立即更改它达到 70% 的值。

我已经尝试过使用自制的“休眠”功能,这使得 promise 需要一些时间来解决。由于某种原因,setInterval 和 setTimeout 也无法按我的预期工作(仅在我按 enter 时评估相关字段,而不是在确定的时间之后)。这与表的其余部分不一致,因此不是合适的解决方案。

这是控制这个输入的 Angular 位

<div class="input-field">
<input class="input" type="number" [integerInput] ="true"
[disabled] ="item.deshabilitado( ) || !editable"
[(ngModel)] ="item.cantidad"
[ngModelOptions]="{standalone: true}"
(keyup) ="setCantidad( item, $event.target.value )"
max="9999" min="1" value="1" >
</div>

可悲的是,我无法获得最小的工作示例。我需要依赖字段能够自动评估其值(无需按回车键或单击另一个字段),而无需在我仅按一个字符时自动更正我的输入。

最佳答案

使用blur() 方法代替keyup()。我猜你正在使用 keyup() 验证输入,每次你输入值时它都会验证。例如,您尝试输入 70,但当您输入第一个字符 7 时,它是无效的。当您完成输入值时,blur() 会触发您的方法并验证您的输入。

<div class="input-field">
<input class="input" type="number" [integerInput]="true"
[disabled]="item.deshabilitado( ) || !editable"
[(ngModel)]="item.cantidad"
[ngModelOptions]="{standalone: true}"
(focusout)="setCantidad( item, $event.target.value )"
max="9999" min="1" value="1" >
</div>

此外,如果用户完成输入值并按下回车键,您可以使用 keyup.enter。当按下回车键或在其他地方单击时,该值会更新。

关于javascript - 如何在评估输入字段之前等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57680152/

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