我目前有一个移动应用程序,您可以搜索某些项目,当前搜索功能的工作方式是当您按空格时,这将被创建为标记。而不是当用户按下'空格键,我希望它在用户按下'时创建标签。 go / search / enter 在移动键盘上。
以下代码是我目前使用的功能,并在" "存在。这需要改变,因为有些项目是2个单词,例如 Chai Seeds
constructor(public keyboard: Keyboard, public formBuilder: FormBuilder, public navCtrl: NavController, public navParams: NavParams, public apiAuthentication: ApiAuthentication, private http: Http) {
this.tags = [];
this.myForm = this.formBuilder.group({
tags: ['']
});
this.myForm.get('tags')
.valueChanges
.subscribe((value: string) => {
if(value.indexOf(' ') > -1) {
let newTag = value.split(' ')[0];
console.log(newTag);
if(newTag) {
this.tags.push(newTag);
this.myForm.get('tags').setValue('');
}
this.searchRecipeDB(this.tags);
}
});
}
我无法弄清楚go / enter按钮在移动设备上的工作方式,所以如果你能告诉我要改变什么,那就太棒了。
谢谢,
答案 0 :(得分:0)
假设你正在使用离子输入,ion-textarea,你可以听取按键事件:
<ion-input (keypress)="onPress($event.which) ... >
.TS:
onPress(keyCode: number): void {
if(keyCode === 13) {
// the keyCode for return/go/enter is 13 (iphone's)
doWhateverYouWant();
}
}
您可以在此处搜索其他键码: https://www.w3schools.com/charsets/ref_utf_basic_latin.asp