私は現在、Web開発にZKを使用しています。ここに私の場合です:ZKバインドNotifyChangeはonChangingイベントで機能しませんか?
私はインスタント検索を実装し、テキスト変更=>検索を実行します。
ZULがコールonChangingText検索した後
<textbox id="textSearch" sclass="search_text">
<attribute name="onChanging">
lbOnChangingSearch.setValue(event.getValue());
vm.onChangingTextSearch();
</attribute>
</textbox>
<label id="lbOnChangingSearch" visible="false"></label>
<grid id="gridChapter" model="@load(vm.chapterInPage)">
....
</grid>
コントローラー・コード
ListModelList<ChapterJoinComic> chapterInPage;
public ListModelList<ChapterJoinComic> getChapterInPage() {
return chapterInPage;
}
@NotifyChange({ "topComics", "chapterInPage"})
@Command
public void onChangingTextSearch() {
FilterObject fo = getFilterObject();
fo.setSearch_str(lbOnChangingSearch.getValue());
//
doSearch(fo); // Change chapterInPage
// Manually post Not
BindUtils.postNotifyChange(null,null,this.chapterInPage,"chapterInPage");
}
問題 ファイル、グリッドはデータバインディングを更新していけません。 しかし、私はテキストを変更し続けます(もっとonChangingTextSearchを呼び出してください)。グリッドは更新されますが、更新された値は以前の値です。
グリッドは私の最新のModelオブジェクトよりも少し遅いと思われます。
注 onChangingイベントの代わりにonOKを使用すると、データバインディングがうまく機能します。
誰でも私を助けることができます。前もって感謝します!
ご協力いただきありがとうございます。しかし、私も "this.chapterInPage"を "this"に置き換えようとしましたが、それは動作しません。グリッドはこれらのコール(@NotifyChangeまだここに)の後にデータをリフレッシュしないでください – Ronaldinho
私はonOKイベントで、グリッドリフレッシュがうまくいっているが、onChangingがうまくいかないように見えますが、私は理由を理解していません。 – Ronaldinho
@Ronaldinho私のために働く例。それを見て、このように動作するようにコードを変更しようとします。 –