antd Form 初始化时 dependencies 的内容变化怎么联动
时间: 2024-02-21 10:59:13 浏览: 143
在 antd Form 组件中,当表单项的值发生变化时,可以通过设置 `dependencies` 属性来联动其他表单项或表单校验规则。当 `dependencies` 中的任一项发生变化时,Form 组件会重新计算所有依赖项的值和校验规则。
具体来说,`dependencies` 属性可以设置为一个数组,数组中的每个元素都是一个表单项的 `name` 属性值。当 `dependencies` 中任一项的值变化时,Form 组件会重新计算所有依赖项的值和校验规则。
例如,我们有一个表单,其中有两个输入框,分别是用户名和密码。当用户名输入框的值发生变化时,我们希望密码输入框的校验规则也跟着改变。此时我们可以设置 `dependencies` 为 `['username']`,表示当用户名输入框的值变化时,密码输入框的校验规则也会重新计算。
```jsx
<Form>
<Form.Item
label="用户名"
name="username"
rules={[{ required: true, message: '请输入用户名' }]}
>
<Input />
</Form.Item>
<Form.Item
label="密码"
name="password"
rules={[{ required: true, message: '请输入密码' }]}
dependencies={['username']}
>
<Input.Password />
</Form.Item>
</Form>
```
在上述代码中,当用户名输入框的值变化时,密码输入框的校验规则也会重新计算。例如,如果我们将用户名输入框的值设置为 `admin`,则密码输入框的校验规则会变为:
```js
[{ required: true, message: '请输入密码' }, { pattern: /^admin/, message: '密码必须以 admin 开头' }]
```
其中第二个校验规则是根据用户名的值动态生成的。
阅读全文