Field Component принимает компонентную опору, которую вы тоже используете. Как я понял из вашего вопроса, вы wi sh отключите поле
<Field
name={`${e}.accident_place`}
myStyles={tableSelectStyles}
onChange={onChangeForm}
disabled={!isConditionRelatedToDisabled}
placeholder=""
component={tableSelect}
options={[{ label:'NY', value:'NY' }, { label:'NJ', value:'NJ' }, { label:'CT', value:'CT' }, { label:'CT', value:'CT' }]}
/>
Теперь добавление disabled
prop в input, textarea or select
компонент поля напрямую отключит их. Однако, чтобы отключить поле для пользовательского компонента, который в вашем случае равен tableSelect
, вам нужно получить disabled
Prop в своем компоненте и передать его в поле выбора, которое вы используете
const tableSelect = ({disabled, options, onChange, onBlur, name, value ...rest}) => {
return (
<select
disabled={disabled}
onChange={onChange}
name={name}
value={value}
>
{options.map(option => {/* return option here */})}
</select>
)
}
Использование отключенной опоры в пользовательском компоненте важно, потому что в противном случае отключенная опора не будет учитываться. Также убедитесь, что если вы используете какую-либо библиотеку для выбора, вы передаете в отключенном реквизите имя, которое требует библиотека