我在Admin-on-rest中使用<Autocomplete>
组件。
<ReferenceInput label="Media" reference="Media" source="media_id" allowEmpty>
<AutocompleteInput source="name" />
</ReferenceInput>
如果我在输入中键入内容,我的rest-client会获得params:
filter:{q: "1"}
我想在名字上替换q,与我的源码相同。我该怎么办?
答案 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} }。因此,您可以在将此过滤器发送到后端之前从此过滤器构建另一个对象。