小编Jos*_*mer的帖子

在使用Angular的NativeScript中,如何获取id的接口元素?

我试图避免NativeScript应用程序中的意外行为.

当我走进任何具有搜索字段(SearchBar)的屏幕时,系统会自动将焦点放在搜索字段上.

然后我得到了一位朋友的帮助,他给了我一个解决这个问题的功能.但我现在面临的问题是我无法获得界面元素.我有以下代码:

import {Component} from "@angular/core";
import {Page} from "ui/page";
import frame = require("ui/frame");

@Component({
    selector: "clientes",
    templateUrl: "pages/clientes/clientes.html",
    styleUrls: ["pages/clientes/clientes.common.css",
    "pages/clientes/clientes.css"]
})

export class ClientesPage {

    page;

    constructor(private _router: Router) {
        this.page = <Page>frame.topmost().currentPage;
        this.removeSearchFocus();
    }

    removeSearchFocus() {
        var parent = this.page.getViewById('box-lista');
        var searchBar = this.page.getViewById('barra-busca');

        console.log(JSON.stringify(parent)); // UNDEFINED
        console.log(JSON.stringify(searchBar)); // UNDEFINED

        if (parent.android) {
            parent.android.setFocusableInTouchMode(true);
            parent.android.setFocusable(true);
            searchBar.android.clearFocus();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有了模板:

<Page.actionBar>
    <ActionBar title="Clientes"></ActionBar>
</Page.actionBar>

<StackLayout orientation="vertical" id="box-lista">
    <SearchBar hint="Buscar" cssClass="mh mv" id="barra-busca"></SearchBar>
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

我的目标是获得搜索字段的自动焦点,但我无法获得界面元素.

javascript android typescript nativescript nativescript-angular

4
推荐指数
2
解决办法
6628
查看次数