{"action":"opened","issue":{"url":"https://api.github.com/repos/ecomfe/ub-ria/issues/266","repository_url":"https://api.github.com/repos/ecomfe/ub-ria","labels_url":"https://api.github.com/repos/ecomfe/ub-ria/issues/266/labels{/name}","comments_url":"https://api.github.com/repos/ecomfe/ub-ria/issues/266/comments","events_url":"https://api.github.com/repos/ecomfe/ub-ria/issues/266/events","html_url":"https://github.com/ecomfe/ub-ria/issues/266","id":164830624,"number":266,"title":"ListAction的查询过程可能丢失部分参数","user":{"login":"bobshen","id":2577670,"avatar_url":"https://avatars.githubusercontent.com/u/2577670?v=3","gravatar_id":"","url":"https://api.github.com/users/bobshen","html_url":"https://github.com/bobshen","followers_url":"https://api.github.com/users/bobshen/followers","following_url":"https://api.github.com/users/bobshen/following{/other_user}","gists_url":"https://api.github.com/users/bobshen/gists{/gist_id}","starred_url":"https://api.github.com/users/bobshen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bobshen/subscriptions","organizations_url":"https://api.github.com/users/bobshen/orgs","repos_url":"https://api.github.com/users/bobshen/repos","events_url":"https://api.github.com/users/bobshen/events{/privacy}","received_events_url":"https://api.github.com/users/bobshen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-11T12:57:04Z","updated_at":"2016-07-11T12:57:04Z","closed_at":null,"body":"Version: `ub-ria 4.0`\r\n\r\n进入列表后，我们现在允许通过 `修改筛选条件`、`修改关键词`、`修改pager参数`、`修改列表排序条件` 等操作修改列表的查询结果。\r\n\r\n现在基类的实现主要是通过 `reloadWithQueryUpdate` 的方式刷新页面URL完成的。但是现在基类的实现可能会导致丢失某些URL上的参数。\r\n\r\n大部分情况下，URL上的参数是各个查询组件的参数的合集，但也可能有些参数不属于查询意图，而用于其他用途。在这种场景下，修改查询参数后进行重新reload后却不能保持这些参数。\r\n\r\n从功能定义上，`performSearch` 和 `getSearchQuery` 都不适合做这些事。因为列表的查询并非总是刷新的，也有可能前端静态静态数据源切换啥的。\r\n\r\n所以看起来会引起URL变化的 `reloadWithQueryUpdate` 方法是最适合升级来满足需求的。\r\n比如在 `redirect` 之前将当前URL上的完整query，作为类似 `model.defaultArgs` 的默认查询参数，与新的请求参数进行merge。"}}
{"actor":{"display_login":"bobshen"}}