如何禁用 Ant Design React Form 中的字段?
How to disable a field in Ant Design React Form?
我将 React 与 Ant Design 一起使用,我想禁用一个 Form.Item 用户名 字段。请在下面查看我的示例代码,
<Form.Item disabled style={{ padding: '0px 20px' }}>
{getFieldDecorator('username', {
initialValue: this.state.userInfo.username,
validate: [
{
trigger: ['onChange', 'onBlur'],
rules: [
{
required: true,
message: t('pleaseInput.username'),
}
],
},
],
})
</Form.Item>
您需要在 <Form.Item>
中显示某种 UI 组件。
我想你想显示一个 <Input>
因为你有一个用户名。以下是您的代码可能实现的功能:
<Form.Item disabled style={{ padding: '0px 20px' }}>
{getFieldDecorator('username', {
initialValue: this.state.userInfo.username,
validate: [
{
trigger: ['onChange', 'onBlur'],
rules: [
{
required: true,
message: t('pleaseInput.username'),
}
],
},
],
})(
<Input
// This is where you want to disable your UI control
disabled={true}
placeholder="Username"
/>
)}
</Form.Item>
Edit 2021:这个答案针对ant design的v3 Form组件的使用。虽然禁用字段的布尔值可能相同,但 v4 中的表单组件发生了很多变化。请参阅从 v3 迁移到 v4 的文档 here。
我将 React 与 Ant Design 一起使用,我想禁用一个 Form.Item 用户名 字段。请在下面查看我的示例代码,
<Form.Item disabled style={{ padding: '0px 20px' }}>
{getFieldDecorator('username', {
initialValue: this.state.userInfo.username,
validate: [
{
trigger: ['onChange', 'onBlur'],
rules: [
{
required: true,
message: t('pleaseInput.username'),
}
],
},
],
})
</Form.Item>
您需要在 <Form.Item>
中显示某种 UI 组件。
我想你想显示一个 <Input>
因为你有一个用户名。以下是您的代码可能实现的功能:
<Form.Item disabled style={{ padding: '0px 20px' }}>
{getFieldDecorator('username', {
initialValue: this.state.userInfo.username,
validate: [
{
trigger: ['onChange', 'onBlur'],
rules: [
{
required: true,
message: t('pleaseInput.username'),
}
],
},
],
})(
<Input
// This is where you want to disable your UI control
disabled={true}
placeholder="Username"
/>
)}
</Form.Item>
Edit 2021:这个答案针对ant design的v3 Form组件的使用。虽然禁用字段的布尔值可能相同,但 v4 中的表单组件发生了很多变化。请参阅从 v3 迁移到 v4 的文档 here。