Скрыть ввод, если значение имеет определенный ввод - PullRequest
0 голосов
/ 02 июля 2019

Я хотел бы скрыть ввод, если другой ввод имеет значение. Я использую https://github.com/marmelab/aor-dependent-input#installation этот пакет, который, я надеюсь, должен решить мою проблему.

Я уже попробовал некоторую комбинацию предоставленного кода использования, но я не понимаю, как правильно его установить.

РЕДАКТИРОВАТЬ примечание: компонент = {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 имеет значение скрыть поле LocationId, если LocationId имеет значение скрыть ComputerId. Это должно быть легко, но не могу понять это

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Вы можете достичь этого с состоянием

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;" но вы можете изменить его.

0 голосов
/ 03 июля 2019

Пакет aor-зависимый ввод был удален (response-admin v2.0). Вы можете добиться эффекта, аналогичного старому компоненту, используя новый компонент: https://marmelab.com/react-admin/Inputs.html#linking-two-inputs

...