【发布时间】:2020-11-30 17:07:27
【问题描述】:
我使用生成器通过 JDL 导入创建实体和过滤(使用服务类)。都好。花了一些时间,但我想出了如何使用 UI 中的表单字段条目使过滤器工作
<form [formGroup]="filterForm" (ngSubmit)="onEnter()">
<input type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/>
</form>
并在component.ts类中添加了需要的方法
onEnter(): void {
if (this.filterForm.get('ticker').value) {
this.signalServiceService
.query({ 'ticker.contains': this.filterForm.get('ticker').value })
.subscribe(
(res: HttpResponse<ISignalService[]>) => this.onSuccess(res.body, res.headers, 1, true),
() => this.onError()
);;
}
}
这非常适合在我创建的字段中输入我的值以进行过滤,然后按回车键并将结果正确返回到 UI。
我面临的问题是,当我单击 UI 导航按钮以移至结果集中的第 2 页时,会调用 loadPage 函数,该函数会用整个结果集覆盖我的过滤结果,这意味着我进入第 2 页但包含整个未过滤的结果集。
那么问题是如何在 UI 中跨页面点击维护过滤结果集?
提前感谢任何人提供的任何帮助或提示,以便为我指明正确的方向。
我应该添加这是一个使用 generator-jhipster@6.10.3 的带有 mysql H2 的 jhipster 整体
【问题讨论】:
-
第一步是确定您的请求是否正确构建,或者问题是否来自响应处理。你是在
signalServiceService.query()中调用createRequestOption来添加分页HttpParams 吗?您是否在调试器下的服务器中获得了正确的Pageable,它是否用于您的查询服务? -
你能提供更多关于
loadPage的信息吗?那是组件中的方法吗?如果您可以提供单击“第 2 页”时触发的内容的 sn-ps(它是路由器插座还是方法?),那将很有帮助 -
谢谢你们两位的cmets。 @GaëlMarziou - 你是对的,我发现我的实现有两个问题 1)我的函数 onEnter 是不必要的,我需要修改 jhipster 创建的 loadPage 函数和 2)基于这个新的 loadPage 函数,HttpParams 请求必须正确形成请求实用程序。我会发布我的完整答案
标签: angular pagination jhipster