私はGWTの初心者です。2 つのコレクションを含む JSON オブジェクトを要求するページのコードを書いており、これらのコレクションの 1 つを使用してFlextable
.
これは私のJSONオブジェクトです:
public class Users extends JavaScriptObject {
protected Users() {
}
public final native JsArray<Link> getLinks() /*-{
return this.links;
}-*/;
public final native JsArray<User> getCollection() /*-{
return this.collection;
}-*/;
}
特に、2 番目のコレクション ( と呼ばれるcollection
) を使用してFlextable
.
しかし、私の問題は、テーブルから1行を削除すると、http削除メソッドを使用してリクエストをサーバーに送信しても(サーバーがそのアイテムを正常に削除しても)、テーブルを更新しようとするとGWTが生成しないことです.サーバーへの GET リクエスト (コードに記述されていても) および Users オブジェクトは以前と同じで、削除されたアイテムも含まれます。
このメソッドを使用して、コレクションからこのアイテムを削除しようとしました:
public static native void remove(JsArray<?> arr, int index, int count) /*-{
arr.splice(index, count);
}-*/;
....
remove(users.getCollection(), index, users.getCollection().length());
そして、私はこの他のテクニックも試しました:
users.getCollection().set(index, null);
しかし、どちらの場合も、期待した結果が得られません。テーブルを更新すると、削除されたアイテムが再び見つかります。
DOM を適切に管理していないと思います
。何か提案はありますか? 何か案が?専門家にとって解決するのは簡単な問題だと確信しています。
編集:
ユーザーはボタンをクリックしてテーブル内のデータを更新できます。このイベントのハンドラーはサーバーへの要求を実行しますが、この要求は最初のクリックでのみ送信されます。