【发布时间】:2020-08-24 22:15:07
【问题描述】:
我有文本区域。我尝试将值的宽度限制为 10 个符号。我正在尝试降低 input 事件的价值。
<textarea [(ngModel)]="smsMessage" (input)="changeSMSMessage()"></textarea>
changeSMSMessage() {
this.smsMessage = this.smsMessage.substr(0, 10);
console.log(this.smsMessage);
}
但它不起作用。我看到 changeSMSMessage() 方法中的值被削减了,但在 UI 上我看到值没有改变。
Plunker
当我将事件从 input 更改为 keyup 时,它开始正常工作。第十位之后的所有字符都被删除。
那么,有人能解释一下为什么input 事件不会更新textarea 中的值吗?
【问题讨论】:
-
这样做有什么好处??您可以直接使用
maxlength="10"属性,该属性不允许用户输入超过 10 个符号 -
我必须显示弹出消息“短信长度大于 250”。在示例中,我删除了该代码。
-
我觉得你应该试试(oninput)
标签: javascript angular