将相同的值粘贴到输入字段时,第二次粘贴双向数据绑定不起作用
When pasting the same value into Input field, on second time pasting two-way data binding doesn't work
我有以下输入标签:
<input type="number" [ngModel]="position" (ngModelChange)="onChangePosition($event)" />
onChangePosition
函数主要是检查输入值的长度,如果长度超过3则截取,只留下3个数字。
当我粘贴像 12345 这样的长数字时,它第一次剪切并将 123 设置为 position
属性 就是这样反映在视图上。
但是,当第二次将相同的值粘贴到旧值上时,position
会像以前一样发生变化,但不会反映在视图中。
您可以在
DEMO
复制值 12345 并将其粘贴到字段中,您将看到 123。正确的结果。
然后再次将值粘贴到字段中,您会看到位置发生了变化,但在输入字段中它保持原样。不需要的结果。
感谢任何建议。
您可以通过(输入)事件利用您的输入与 ngModel 中的内容之间的差距:
<input type="number" #myPosition
[ngModel]="position"
(input)="myPosition.value = position"
(ngModelChange)="onChangePosition($event)" />
这里我使用了模板变量及其值
我有以下输入标签:
<input type="number" [ngModel]="position" (ngModelChange)="onChangePosition($event)" />
onChangePosition
函数主要是检查输入值的长度,如果长度超过3则截取,只留下3个数字。
当我粘贴像 12345 这样的长数字时,它第一次剪切并将 123 设置为 position
属性 就是这样反映在视图上。
但是,当第二次将相同的值粘贴到旧值上时,position
会像以前一样发生变化,但不会反映在视图中。
您可以在 DEMO
复制值 12345 并将其粘贴到字段中,您将看到 123。正确的结果。 然后再次将值粘贴到字段中,您会看到位置发生了变化,但在输入字段中它保持原样。不需要的结果。
感谢任何建议。
您可以通过(输入)事件利用您的输入与 ngModel 中的内容之间的差距:
<input type="number" #myPosition
[ngModel]="position"
(input)="myPosition.value = position"
(ngModelChange)="onChangePosition($event)" />
这里我使用了模板变量及其值