如果特定输入有价值,则隐藏输入

时间:2019-07-02 07:24:12

标签: redux-form react-admin

如果其他输入有价值,我想隐藏输入。我正在使用https://github.com/marmelab/aor-dependent-input#installation这个程序包,希望可以解决我的问题。

我已经尝试过提供的使用代码的某种组合,但是我不知道如何正确设置它。

编辑说明:component = {ReferrenceSelectBox}是我的自定义组件

const checkRecord = (record) => record.LocationId;
         <DependentInput resolve={checkRecord}>
            <Field name="ComputerId" label="Computer" source="ComputerId" reference="PC" component={ReferrenceSelectBox}/>
         </DependentInput>
         <Field name="LocationId" label="Location" source="LocationId" reference="Location" component={ReferrenceSelectBox}/>
      </SimpleForm>

基本,如果ComputerId具有值hide LocationId字段,则如果LocationId具有值hide隐藏ComputerId。它应该很容易,但无法弄清楚

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

已删除aor依赖输入包(react-admin v2.0)。 您可以通过使用新组件来实现与旧组件类似的效果:https://marmelab.com/react-admin/Inputs.html#linking-two-inputs

答案 1 :(得分:0)

您可以通过状态来实现

this.state={
   isRecordExists: record.LocationId;
}

并返回

{ this.state.isRecordExists>0 ? 
    <Field name="LocationId" label="Location" source="LocationId" reference="Location" 
    component={ReferrenceSelectBox}/>
    :
    null }

基本上{声明? true:false}

我不知道什么类型的变量来自“ record.LocationId;”但您可以对其进行修改。