适配器 搜索视图分页视图 JsonREST适配器 - jingjiajie/FrontWork GitHub Wiki

  搜索视图分页视图-JsonREST适配器(SearchPagerJsonRESTAdapter)是FrontWork提供的一款将搜索视图,分页视图一起与JsonREST同步器进行适配的一款适配器。当用户在搜索视图上设置了搜索条件,点击查询之后,或者用户点击了分页控件更改了当前页码之后,适配器会自动将搜索控件查询条件和分页控件的页码信息转换为JsonREST同步器可以理解的格式,传入JsonREST同步器并触发JsonREST同步器的数据同步。

适配器控件

  这款适配器拥有以下属性:

属性

  属性简介:

APIFieldNames: 生成的请求参数的字段名称(参考搜索视图适配器中的介绍)
PagerView: 绑定的分页视图
SearchView: 绑定的搜索视图
Synchronizer: 绑定的同步器

  同SearchViewJsonRESTAdapter一样,搜索视图分页视图JsonREST适配器仅仅是比搜索视图JsonREST适配器多了一个分页视图,而关于搜索视图的数据操作是一模一样的。读者可以参考SearchViewJsonRESTAdapter的介绍文章

  这款适配器除了拥有SearchViewJsonRESTAdapter的行为之外,还会在其所绑定的JsonRESTSynchronizer中自动设置额外两条请求参数

$page:用户的当前页码
$pageSize:每页大小

  如果我们的pull API设为了

{url:"http://localhost/person/{{conditions:$conditions,orders:$orders,page:$page,pageSize:$pageSize}}"}

  那么在用户设置了搜索条件并点击搜索之后,我们会得到如下的URL:

http://localhost/person/{"conditions":[{"key":"name","relation":"EQUAL","values":["Peter"]}],orders:[{"key":"name","order":"ASC"}],"page":1,"pageSize":50}

  而如果用户点击了下一页,将页码跳转到了第2页,则会触发如下URL(注意$page关键变量对应的数值的变化):

http://localhost/person/{"conditions":[{"key":"name","relation":"EQUAL","values":["Peter"]}],orders:[{"key":"name","order":"ASC"}],"page":2,"pageSize":50}
⚠️ **GitHub.com Fallback** ⚠️