const search = (param, pageNo, pageSize) => { setSearchLoading(true); setPageNo(pageNo); setPageSize(pageSize); let params = { dto: param }; api.feight.searchFreight(params) .subscribe({ next: (data) => { setDataSource(data.data); setTotal(data.total); }, }) .add(() => { setSearchLoading(false); }); }
时间: 2024-04-18 12:33:11 浏览: 83
根据你提供的代码,可以看出`search`函数是用来进行查询操作的。它接受三个参数:`param`是查询条件,`pageNo`是页码,`pageSize`是每页显示的数据条数。
在函数内部,首先通过调用`setSearchLoading(true)`将搜索状态设置为加载中。然后使用`setPageNo(pageNo)`和`setPageSize(pageSize)`将页码和每页数据条数更新到组件的状态中。
接下来,创建一个包含查询条件的`params`对象,并调用`api.feight.searchFreight(params)`进行查询操作。这里使用了一个Observable对象进行异步操作,并通过`.subscribe()`方法来监听查询结果。
在查询结果的`next`回调函数中,使用`setDataSource(data.data)`将查询到的数据更新到组件的状态中,并使用`setTotal(data.total)`更新总数据条数。
最后,在查询完成后,无论成功或失败,都会调用`.add()`方法来执行一些清理操作,例如将搜索状态设置为加载完成,即调用`setSearchLoading(false)`。
这个代码片段看起来是一个基于RxJS的异步查询操作,但具体的实现细节可能还需要结合你使用的具体库或框架来进行调整和完善。
如果你有其他问题,请随时提问。
阅读全文