我正在使用Webix UI框架。我试图找到修改发送到服务器的查询的最佳方法,然后在数据表组件上过滤/请求来自服务器的数据。这同样适用于dataview和其他组件。
我发现在'save'上修改传递的参数非常简单:
onBeforeUpdate:function(id, o) {
o.data.newVariable = newValue;
}
我可以在帖子请求中添加任意数量的字段。
当检索数据时,不太清楚的是访问要在查询中使用的数据。一种方法是使用registerFilter,但我认为这需要在虚拟列上创建,我宁愿避免。
我认为我可以通过以下方式轻松完成:
onBeforeFilter: function() {
this.data.url = "script.php?field=value";
}
和webix注意保持我的查询字符串,并将其余的过滤器参数附加到它。
最合适的方法是什么?在过滤之前是否有其他方法可以访问和修改查询中的数据?
请分享您的想法。
答案 0 :(得分:1)
您可以使用数据代理
http://docs.webix.com/desktop__server_proxy.html#creatingcustomproxyobjects
这是一段代码,它将作为组件和服务器端代码之间的代理。每当组件需要向服务器端发送请求时,将调用代理方法。因此,您将拥有完整的控制权,将哪些数据发送到服务器端。
webix.ui({
view:"list",
url:{
$proxy:true,
load:function(view, callback, state){
//any data loading pattern here
webix.ajax("some.php?a=1", callback, view);
}
}
});