Ant Design of Vue表单元素因为v-if换切导致rules校验失败

本文介绍了在Vue中如何使用`a-form-model-item`组件并绑定`key`属性来确保视图更新。通过设置`key`为`switchVif`并在`data`中定义相应属性,实现了输入框与数据模型的双向绑定,确保了用户交互时界面的正确响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决方法:
在item标签绑定key

<a-form-model-item  key="switchVif" prop="switchVif">
<input v-model="switchVif" />
</a-form-model-item>

在data中定义

data(){
	return{
		switchVif:""
	}
}
### Ant Design Vue 表单校验规则及示例 #### 使用 `Form` 组件进行表单校验 Ant Design Vue 的 `a-form-model` 是用于构建复杂交互逻辑的组件之一,支持内置验证功能。通过设置 `rules` 属性来定义字段的校验规则[^2]。 以下是实现表单校验的一个完整示例: ```vue <template> <a-form :model="form" :rules="rules" @submit="handleSubmit"> <!-- 用户名输入框 --> <a-form-item label="用户名" prop="username"> <a-input v-model="form.username" /> </a-form-item> <!-- 密码输入框 --> <a-form-item label="密码" prop="password"> <a-input type="password" v-model="form.password" /> </a-form-item> <!-- 提交按钮 --> <a-button type="primary" html-type="submit">提交</a-button> </a-form> </template> <script> export default { data() { return { form: { username: '', password: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } // 验证必填项 ], password: [ { required: true, message: '请输入密码', trigger: 'change' }, // 验证必填项 { min: 6, max: 18, message: '长度应在 6 到 18 之间', trigger: 'change' } // 长度范围验证 ] } }; }, methods: { handleSubmit(e) { e.preventDefault(); this.$refs.form.validate(valid => { if (valid) { alert('提交成功'); } else { console.log('表单校验失败'); } }); } } }; </script> ``` 上述代码展示了如何创建一个简单的登录表单并应用基本的校验规则。其中: - `required: true` 定义该字段为必填项。 - `min` 和 `max` 设置字符串长度限制。 - `trigger` 控制触发校验的时间点(如 `blur` 或 `change`)。 #### 常见校验规则说明 | 参数 | 类型 | 描述 | |------|------|------| | `required` | Boolean | 是否必填 | | `message` | String | 校验不通过时显示的消息 | | `min/max` | Number | 字符串最小/最大长度 | | `pattern` | RegExp | 自定义正则表达式匹配 | 例如,如果需要对邮箱地址进行校验,则可以添加如下规则: ```javascript email: [ { required: true, message: '请输入邮箱地址', trigger: 'blur' }, { type: 'email', message: '请输入有效的邮箱地址', trigger: ['blur', 'change'] } ] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值