首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Filter react按日期进行管理查询

Filter react按日期进行管理查询
EN

Stack Overflow用户
提问于 2019-12-04 11:18:33
回答 1查看 1.8K关注 0票数 2

我正在使用react-adminuseGet...查询从rails后端收集数据。这里的主要问题是filter属性( useGetList操作中的最后一对大括号)。如何按日期过滤数据(比如只获取上个月的事务等)。

这是当前的(工作)方法:

代码语言:javascript
复制
const { data, loading, error } = useGetList(
    'transactions', 
    { page: 1, perPage: 10000 }, 
    { field: 'id', order: 'ASC' }, 
    {},
)
if (loading) return <p>Loading</p>
if (error) return <p>Error</p>
if (!data) return null

数据库中的条目都具有createdAtupdatedAt属性。

我的方法是创建一个像这样的过滤器:

代码语言:javascript
复制
// constraints could be dates that I can easily set beforehand
{ 
    {'createdAt', desiredLowerTimeConstraint, operation: '<='}, 
    {'createdAt', desiredUpperTimeConstraint, operation: '<='} 
}

react-admin 文档与filter属性很不一样,我找不到这些对象应该是什么样子的好例子。

EN

Stack Overflow用户

回答已采纳

发布于 2019-12-05 19:43:14

这完全取决于您的API期望过滤器的外观。

例如,在JSONServer提供的REST中,查询字符串参数名上的_lte后缀表示希望结果“小于或等于”值:

代码语言:javascript
复制
GET /transactions?createdAt_lte=2019-12-05

如果使用ra-data-simple-rest,则可以通过在filter中传递参数来完成此请求。

代码语言:javascript
复制
const { data, loading, error } = useGetList(
    'transactions', 
    { page: 1, perPage: 10000 }, 
    { field: 'id', order: 'ASC' }, 
    { createdAt_lte: '2019-12-05' },
)

如果您的API的行为不同,那么您可以对useGetList使用相同的语法,并在将参数发送到API之前对dataProvider中的参数进行转换。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59174806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档