在REACT中使用ANTD动态添加规则输入

问题描述 投票:0回答:1

我需要自动向输入添加规则。我想获取对象并添加规则,或多或少类似于下面的代码,但这不起作用,我无法做类似的事情。

任何人都可以给我任何想法吗?

const [form] = Form.useForm();

form.getFieldInstance("username").rules=[
          {
            required: true,
            message: 'Please input your username!',
          },
   ]; 
reactjs antd
1个回答
0
投票

尝试将字段规则转换为状态数组:

const [form] = Form.useForm()
const [formItemRules, setFormItemRules] = useState([])

// find the best moment to update rules
setFormItemRules(() => ([{
  required: true, 
  message: 'Please input your username!'
}]))


<Form.Item
  label={'...'}
  name={'...'}
  rules={ formItemRules }
>
  <Input />
</Form.Item>

您还可以使用包含所有表单项规则的对象:

const [formRules, setFormRules] = useState({
  username: [],
  otherField: []
})

setFormRules((current) => ({
  ...current,
  username: [{
    required: true, 
    message: 'Please input your username!'
  }]
}))

<Form.Item
  label={'...'}
  name={'...'}
  rules={ formRules.username }
>
  <Input />
</Form.Item>
© www.soinside.com 2019 - 2024. All rights reserved.