Похоже, что такого способа поведения достичь невозможно, так как Form.Item устанавливает новое состояние проверки только при вызове onInput (когда вы вводите что-то во Input внутри), и, следовательно, он не принимает переключатель «required»
В случае, если вам нужно изменить поведение проверки, вы можете воспользоваться простым решением, например:
{enable ?
(<Form.Item>
{getFieldDecorator('username', {
rules: [{ required: this.state.enable, message: 'Please input your username!' }],
})(
<Input disabled = {!enable}
/>,
)}
</Form.Item>) :
<Form.Item>
<Input disabled = {!enable} />
</Form.Item>`}
Единственное предостережение этого решения заключается в том, что оно скрываетранее введенное значение при изменении переключателя «enable», но вы можете сохранить их в любом месте вашего состояния, а затем назначить входное значение по умолчанию для значения этого «значения введенного состояния»