Я пытаюсь отфильтровать список на основе наличия значения в массиве arrayField в SingleFieldList (с использованием микросхем).
Вот элемент из app.js
<Resource
name='Applicants'
list={ApplicantList}
show={ApplicantShow}
edit={ApplicantEdit}
/>
Вот элемент списка:
export const ApplicantList = props => {
return (
<List
{...props}
actions={<ApplicantActions />}
filters={<ApplicantFilter />}
>
<Datagrid rowClick='show'>
<TextField label='Application Id' source='applicationId' />
<TextField label='Status' source='appStatusStatus' />
<TextField label='First Name' source='resourceFirstName' />
<TextField label='Last Name' source='resourceLastName' />
<ArrayField label='Training Experience' source='applicationExperiences'>
<SingleFieldList>
<ChipField source='trainingExperienceTrainingExperienceName' />
</SingleFieldList>
</ArrayField>
<ArrayField label='Work Experience' source='applicationWorkExperiences'>
<SingleFieldList>
<ChipField source='workExperienceWorkExperienceName' />
</SingleFieldList>
</ArrayField>
</Datagrid>
</List>
)
};
Это фильтр. Фильтры одного поля textInput
работают правильно.
const ApplicantFilter = props => (
<Filter {...props}>
<TextInput label='Status' source='appStatus.status' defaultValue='Active' />
<TextInput label='First Name' source='resource.firstName' />
<TextInput label='Last Name' source='resource.lastName' />
<ArrayInput source='applicationWorkExperiences'>
<SimpleFormIterator>
<TextInput source='workExperience.workExperienceName' />
</SimpleFormIterator>
</ArrayInput>
<TextInput
label='Training Experience'
source='applicationExperiences.trainingExperience.workExperienceName'
/>
{/* <TextInput
label='Work Experience'
source='applicationWorkExperiences.workExperience.workExperienceName'
/> */}
</Filter>
);