【问题标题】:Angular2 make textarea press enter without new line addedAngular2使textarea按Enter而不添加新行
【发布时间】:2016-08-17 19:02:15
【问题描述】:

我有一些文本输入的文本区域。 当用户完成输入时,我让他们使用 [Enter] 通过

来确认文本
<textarea #msgInput (keyup.enter)="confirmText(msgInput.value)" >
</textarea>

虽然我可以成功获取confirmText() 中的文本。 在 textarea 的值上创建一个换行符。

如何正确地将换行符放到 textarea 中? 我知道在编写 js 时存在一些方法,如 return 0 和 preventDefault() 但我不知道如何在 Angular2 打字稿中做到这一点。

【问题讨论】:

    标签: typescript angular


    【解决方案1】:

    在表达式中添加;false 以抑制默认行为:

    <textarea #msgInput (keydown.enter)="confirmText(msgInput.value);false" >
    

    您还必须使用keydown 而不是keyup,因为取消keyup 为时已晚。

    Plunker example

    【讨论】:

    • 请注意,“取消 keyup 为时已晚”对于诊断 Angular 8 中 @HostListener 的默认设置非常有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多