console.log(disabled) devuelve true pero la checkbox de verificación no se deshabilita.
let disabled: boolean; const GroupChange = (value) => { var index = dropdownItems.findIndex(item => item.group == value); ... disabled = dropdownItems[index].deactivated; } Form con la Checkbox de verificación:
<Form.Item label="Gruppe" name="group"> <Select onChange={GroupChange}> {dropdownItems.map((item, index) => <Select.Option value={item.group} key={index}>{item.group}</Select.Option>)} </Select> </Form.Item> <Form.Item label="Aktiv" name="active" valuePropName="checked"> <Checkbox disabled={disabled} /> //<- is always active </Form.Item> ...En AntDesign, usa algo llamado dependencies :
<Form.Item label="Gruppe" name="group"> <Select> {dropdownItems.map((item, index) => <Select.Option value={item.group} key={index}>{item.group}</Select.Option>)} </Select> </Form.Item> <Form.Item dependencies={['group']}> {({getFieldValue}) => { const groupValue = getFieldValue('group') const isDisabled = dropdownItems.find(item => item.group === groupValue)?.deactivated return ( <Form.Item label="Aktiv" name="active" valuePropName="checked"> <Checkbox disabled={isDisabled} /> </Form.Item> ) }} </Form.Item> Representas un Form.Item con un accesorio de dependencies . El hijo es una función que obtiene métodos de formulario como argumento y se llama cada vez que cambian los valores de las dependencias.
Ya NO necesita onGroupChange .