1

NativeScript で Telerik AppBuilder を使用して、クロスプラットフォーム モバイル アプリを作成しています。TextField で基本的な「blur」または「onTextChanged」イベントを取得する方法を理解しようとしています。「タップ」イベントなどを行う方法は理解できますが、「blur」や「onTextChanged」を実行しているサンプルを見つけるのが難しいのはなぜですか?

私はこれを試しました:

var tagField = view.getViewById(page, "tfDescription")
tagField.set("onblur", function(eventData) {
    pageData.set("debug", "blur this field: " + JSON.stringify(eventData));    
});

また、xml で考えられるすべての属性を試しました。

<TextField id="tfDescription" blur="blur" onblur="blur" onLoseFocus="blur" focusLost="blur" textChanged="blur" row="2" text="{{ description }}" />

これらのどれも機能しません。誰もこれを行う方法の手がかりを持っていますか?

ありがとう

4

4 に答える 4

0

nativescript 3+ では、これがぼかしイベントをキャッチする方法です。

サンプル コードはネイティブ スクリプト (コア) です。

example.js

const view = require("ui/core/view");
const textFieldModule = require("ui/text-field");

exports.pageLoaded = (args) => {
  let page = args.object;
  let myTextFieldView = view.getViewById(page, "myTextField");
  myTextFieldView.on(textFieldModule.TextField.blurEvent, function(eventData) {
      console.log('blur event triggered');
  }, this);
}

example.xml

<Page loaded="pageLoaded">
  ...
  <TextField
    id="myTextField"
    hint="My Text Field"
    text="{{ myTextField }}" />
  ...
</Page>
于 2017-06-04T22:53:06.803 に答える