我正在使用react-admin的useGet...查询从rails后端收集数据。这里的主要问题是filter属性( useGetList操作中的最后一对大括号)。如何按日期过滤数据(比如只获取上个月的事务等)。
这是当前的(工作)方法:
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数据库中的条目都具有createdAt和updatedAt属性。
我的方法是创建一个像这样的过滤器:
// constraints could be dates that I can easily set beforehand
{
{'createdAt', desiredLowerTimeConstraint, operation: '<='},
{'createdAt', desiredUpperTimeConstraint, operation: '<='}
}react-admin 文档与filter属性很不一样,我找不到这些对象应该是什么样子的好例子。
发布于 2019-12-05 19:43:14
这完全取决于您的API期望过滤器的外观。
例如,在JSONServer提供的REST中,查询字符串参数名上的_lte后缀表示希望结果“小于或等于”值:
GET /transactions?createdAt_lte=2019-12-05如果使用ra-data-simple-rest,则可以通过在filter中传递参数来完成此请求。
const { data, loading, error } = useGetList(
'transactions',
{ page: 1, perPage: 10000 },
{ field: 'id', order: 'ASC' },
{ createdAt_lte: '2019-12-05' },
)如果您的API的行为不同,那么您可以对useGetList使用相同的语法,并在将参数发送到API之前对dataProvider中的参数进行转换。
https://stackoverflow.com/questions/59174806
复制相似问题