我在Angular 2应用中构建了一个搜索框,试图在点击时输入值'输入' (表单不包括按钮)。
模板
<input type="text" id="search" class="form-control search-input" name="search" placeholder="Search..." [(ngModel)]="query" (ngSubmit)="this.onSubmit(query)">
使用简单的onSubmit函数进行测试......
export class HeaderComponent implements OnInit {
constructor() {}
onSubmit(value: string): void {
alert('Submitted value: ' + value);
}
}
ngSubmit似乎在这种情况下无效。那么&#39; Angular 2方式&#39;是什么?解决这个问题? (最好没有像隐藏按钮这样的黑客)
答案 0 :(得分:97)
REGEXP '^\\P{Han}*$'
在输入标记
答案 1 :(得分:2)
您可以将此文本框放在表单标记内,并在表单上设置ngSubmit事件,即
<form (ngSubmit)="YouMethod()">
<input type="text" class="form-control input-lg" />
</form>
答案 2 :(得分:1)
在普通HTML中,按Enter键时需要<button type="submit" ></button>
或<input type="submit" />
提交表单。这些元素可以被css隐藏,但必须存在于表单中。 ng-submit
应该绑定到正常的onsubmit
事件,并且它具有相同的触发条件。
同样来自您发布的代码,您没有表单元素,只有输入字段,ng-submit
指令仅适用于表单,因为输入元素没有onsubmit
JS事件。
答案 3 :(得分:0)
为了完整起见,这个解决方案也适用于我:
<form (keydown)="keyDownFunction($event)"><input type="text" /></form>