Как я могу расширить класс TextField с помощью дополнительного метода

Моя модифицированная библиотека поддержки поддерживает использование анимаций просмотра (например, , ) и объектных аниматоров (т. е. ) для фрагментарных переходов. Он реализован с помощью NineOldAndroids . Подробнее см. В моей документации по github.

0
задан ych 18 March 2019 в 15:26
поделиться

2 ответа

Вы также можете использовать расширение модуля, где вы расширяете типы во внешних модулях:

import { TextField } from 'tns-core-modules/ui/text-field';

declare module 'tns-core-modules/ui/text-field' {
    export interface TextField {
        unfocus(): void;
    }
}
TextField.prototype.unfocus = function (this: TextField) {
    this.dismissSoftInput();
    if (this.android) {
        this.android.clearFocus();
    }
};


export function onMainGridLayoutTap(args: EventData) {
    const mainGridLayout = <GridLayout>args.object;

    const emailTextField: TextField = mainGridLayout.getViewById("emailTextField");
    emailTextField.unfocus();
}
0
ответ дан Titian Cernicova-Dragomir 18 March 2019 в 15:26
поделиться

Простейшим решением было бы расширить и использовать свое собственное:

import { TextField } from 'tns-core-modules/ui/text-field';

export class Custom extends TextField {
 unfocus(){
   //                   
0
ответ дан basarat 18 March 2019 в 15:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: