You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-admin中公司与分支ReferenceInput联动失效问题求助

我来帮你搞定这个联动问题!你的代码里已经用了DependentInput来关联公司选择,但缺了最关键的一步:给分支的ReferenceInput添加基于选中CompanyID的过滤条件,这样它才会只加载对应公司的分支数据。

修改后的完整代码

<ReferenceInput source="CompanyID" reference="companies" allowEmpty alwaysOn>
    <SelectInput optionText={choice => `${choice.name}`} />
</ReferenceInput>
<DependentInput dependsOn="CompanyID">
    <ReferenceInput 
        source="BranchID" 
        reference="branches" 
        allowEmpty 
        alwaysOn
        // 核心:动态根据选中的CompanyID过滤分支
        filter={({ values }) => values.CompanyID ? { motherID: values.CompanyID } : {}}
    >
        <SelectInput optionText={choice => `${choice.tmima} ${choice.address}`} />
    </ReferenceInput>
</DependentInput>

关键修改点解释

  1. 添加动态过滤条件
    给分支的ReferenceInput加上filter属性,这个函数会接收当前表单的values对象(里面包含已经选中的CompanyID)。我们通过它构建过滤规则,让branches接口只返回motherID与选中CompanyID匹配的分支。

  2. 兼容未选择公司的情况
    用三元判断处理了CompanyID为空的场景:如果还没选公司,就不传过滤条件(或者你可以改成{ motherID: null },根据后端接口的逻辑调整)。

  3. 后端接口支持
    要确保你的branches资源对应的后端接口能正确处理这个过滤参数。React Admin默认会把filter转换成类似?filter={"motherID":123}的格式,后端需要解析这个参数并返回对应的数据。

内容的提问来源于stack exchange,提问作者Selini Kyriaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:08:00