Как отфильтровать строковое значение в arrayField в реагировать на admin? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь отфильтровать список на основе наличия значения в массиве 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>
);
...