如何从Admin-on-rest框架更改过滤器的键?

时间:2017-12-14 08:24:11

标签: javascript reactjs frontend admin-on-rest

我在Admin-on-rest中使用<Autocomplete>组件。

<ReferenceInput label="Media" reference="Media" source="media_id" allowEmpty>
    <AutocompleteInput source="name" />
</ReferenceInput>

如果我在输入中键入内容,我的rest-client会获得params:

filter:{q: "1"}

我想在名字上替换q,与我的源码相同。我该怎么办?

2 个答案:

答案 0 :(得分:4)

您可以使用{ q: [searchText] } filterToQuery自定义prop的默认行为。

<ReferenceInput
     label="Media" 
     reference="Media" 
     source="media_id" 
     allowEmpty
     filterToQuery={searchText => ({ title: searchText })}>
    <AutocompleteInput source="name" />
</ReferenceInput>

您可以在title处将{ title: searchText }更改为您要发送给服务器的任何内容。

文档:https://marmelab.com/admin-on-rest/Inputs.html#referenceinput

在上面的链接中搜索filterToQuery

答案 1 :(得分:0)

您应该在custom restClient处理此问题。正如您在文档中看到的那样,它将收到查询类型(在本例中为GET_LIST),resource以便您获取名称和params对象{{1} }。因此,您可以在将此过滤器发送到后端之前从此过滤器构建另一个对象。