我是 GWT 的新手。我正在编写一个页面的代码,它询问一个包含两个集合的 JSON 对象,我使用其中一个集合来填充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;
}-*/;
}
特别是我正在使用第二个集合(称为collection
)来填充Flextable
.
但我的问题是,当我从表中删除一行时,即使我向服务器发送带有 http 删除方法的请求(并且服务器成功删除了该项目),当我尝试刷新表时 GWT 也不会生成对服务器的 GET 请求,(即使是写在代码中)和 Users Object 和之前一样,删除的 item 也一样。
我尝试使用此方法从集合中删除此项目:
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,
您有什么建议吗?任何想法?我相信对于专家来说这是一个简单的问题。
编辑:
用户可以单击按钮刷新表中的数据,此事件的处理程序将向服务器执行请求,但此请求仅在第一次单击时发送。