如何在react-admin中对相关文件的参考输入使用?

问题描述

我正在使用 react-admin

我有 3 个资源:学校、老师和班级

  • 每所学校都有自己的老师和班级
  • 每个班级都有自己学校的老师

在第一个类的创建中,输入是一个老师,需要是一个引用类型,但不是所有的老师,只有属于这个班的学校。

我应该如何支持它?

如何将 school_id 传递给参考输入?

谢谢!

解决方法

文档中对此进行了解释:https://marmelab.com/react-admin/Inputs.html#referenceinput

总结:

/ you can filter the query used to populate the possible values. Use the
// `filter` prop for that.
<ReferenceInput
    source="teacher_id"
    reference="teachers"
    filter={{ school_id: values.school_id }}
>
    <SelectInput optionText="name" />
</ReferenceInput>

您可能想知道如何获得此 school_idhttps://marmelab.com/react-admin/Inputs.html#linking-two-inputs

import { useFormState } from 'react-final-form';

const TeacherInput = () => {
    const { values } = useFormState();

    return (
        <ReferenceInput
            source="teacher_id"
            reference="teachers"
            filter={{ school_id: school_id }}
        >
            <SelectInput optionText="name" />
        </ReferenceInput>
    );
}