Angular2使textarea按下输入而不添加新行

Nic*_*ick 8 typescript angular

我有一个textarea文本输入.当用户完成输入时,我让他们使用[Enter]确认文本

<textarea #msgInput (keyup.enter)="confirmText(msgInput.value)" >
</textarea>
Run Code Online (Sandbox Code Playgroud)

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

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

Gün*_*uer 27

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

<textarea #msgInput (keydown.enter)="confirmText(msgInput.value);false" >
Run Code Online (Sandbox Code Playgroud)

你也必须使用keydown而不是keyup因为取消keyup已经太晚了.

Plunker的例子