0

嗨,我无法使用我在 vew-model.ts 中声明的方法绑定 NativeScript Searchbar 提交事件。

`<SearchBar id="searchBar" hint="Search" text=""  clear="onClear" submit="{{ onSubmit }}"/>`

And the function in viewmodel:

`public onSubmit(args) {
        console.log('pressed');
        let searchBar = <SearchBar>args.object;
        var searchPhrase = searchBar.text;
        this.url = this.url+this.searchPhrase;
        this.getItems(this.url);
        console.log(this.url);
    }`

但这似乎不起作用。如果我在代码隐藏文件(main-page.ts)中定义相同的方法,则无论我是否将其编写为:

`<SearchBar id="searchBar" hint="Search" text=""  clear="onClear" submit=" onSubmit"/>`

或者

`<SearchBar id="searchBar" hint="Search" text=""  clear="onClear" submit="{{ onSubmit }}"/>`

我是 NativeScript 的新手,我不知道我是否遗漏了什么。我确实检查了这个答案,但它没有帮助,因为那是针对 TextFields 的。任何帮助将不胜感激。谢谢!

4

1 回答 1

0

onSubmit应该是一个属性,ViewModel以便进行事件绑定。更新方法如下。

onSubmit = (args) => {
    console.log('pressed');
    let searchBar = <SearchBar>args.object;
    var searchPhrase = searchBar.text;
    this.url = this.url+this.searchPhrase;
    this.getItems(this.url);
    console.log(this.url);
};
于 2018-03-15T09:10:00.967 回答