我目前有一个移动应用程序,您可以通过它搜索某些项目,当前搜索功能的工作方式是,当您按下Space时,它将被创建到标签中。我希望它在用户按下移动键盘上的'go/search/enter时创建标记,而不是在用户按下空格键时创建标记。
下面的代码是我当前使用的函数,当"出现时创建标记。这需要改变,因为有些项目是2个单词,如柴籽
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);
}
});
}
我不知道移动设备上的进入按钮是如何工作的,所以如果你能告诉我该更改什么,那就太好了。
谢谢,
假设您使用的是离子输入,离子文本区域,您可以监听按键事件:
<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