Angular 9 动态 ngx-mask 问题

Angular 9 dynamic ngx-mask issue

我有以下输入

<input
  [(ngModel)]="myInput"
  mask="00-0000-0000||00-00000-0000"
  type="text"
>

我想用某个值初始化它。假设 12-12345-1234.

这不起作用,因为我只看到 12-1234-5123(最后一位数字从 html 输入中删除,最短的可能掩码是正在使用)。

我希望能够使用 任何 有效值来初始化我的输入,并查看应用于它的正确掩码。

要设置 DOM 初始值,您可以在 HTML 模板上使用 value 属性:

<input type="text" value="any-value-here">

您尝试使用的掩码是 DOM 操作逻辑的产物。它将通过修改 DOM 的 运行 JavaScript 代码实现,并且根据您使用的框架或您创建输入遮罩效果的库,将始终覆盖 'initial'值。

在你的情况下,使用 [(ngModel)] 不是严格的初始化:据我所知,它已经是 angular 制作的值绑定“事件”。为了测试您的逻辑,我认为创建测试或在可能的情况下将掩码动态添加到字段是更好的方法。