el-select multiple 选择器多选控件,初始就会触发表单校验的问题

本文讲述了在前端开发中遇到的一个关于表单验证的问题。当使用Vue.js的el-select组件时,由于后端需要的下一步执行人为字符串类型,最初将messageReceiver字段初始化为字符串,导致页面加载时触发了不必要的表单验证。解决方案是将初始值改为空数组,从而避免了页面加载时的验证错误。这个案例强调了正确设置初始值对于前端表单管理的重要性。
摘要由CSDN通过智能技术生成
        <el-select
          v-if="NextPoint.success"
          v-model="submitForm.messageReceiver"
          style="width: 50%"
          filterable
          multiple
        >

因为后端需要的下一步执行人为字符串

所以最开始写成  messageReceiver: "",

结果打开页面就触发了表单验证

解决方法为:初始值设置为空数组

 

如果你使用了el-selectmultiple属性进行单选或多选,然后想要实现点击编辑后回显的功能,可以通过以下步骤实现: 1. 给el-select绑定一个v-model,用来存储选择的值。 2. 在点击编辑按钮后,将v-model中的值赋给一个临时变量,用来记录编辑前的选择结果。 3. 将el-selectmultiple属性设置为false,变为单选状态。 4. 将临时变量的值赋给el-select的v-model,将选择结果回显到el-select中。 5. 编辑完成后,将el-select的v-model的值赋给临时变量,并将multiple属性设置回原来的状态。 下面是一个简单的示例代码: ```html <template> <div> <el-select v-model="selected" multiple> <el-option label="Option 1" value="1"></el-option> <el-option label="Option 2" value="2"></el-option> <el-option label="Option 3" value="3"></el-option> </el-select> <el-button @click="edit">编辑</el-button> </div> </template> <script> export default { data() { return { selected: [], // 存储选择结果的数组 tempSelected: [] // 临时存储编辑前的选择结果的数组 } }, methods: { edit() { // 记录编辑前的选择结果 this.tempSelected = [...this.selected] // 将multiple属性设置为单选 this.$refs.select.multiple = false // 将选择结果回显到el-select中 this.selected = this.tempSelected[0] }, done() { // 将编辑后的结果赋给临时变量 this.tempSelected[0] = this.selected // 将multiple属性设置回原来的状态 this.$refs.select.multiple = true } } } </script> ``` 在上面的代码中,我们在el-select上加了一个ref属性,用来在代码中获取el-select的DOM元素,然后在edit方法中,将el-selectmultiple属性设置为false,变为单选状态,并将临时变量的值赋给el-select的v-model,实现了回显选择结果的功能。在done方法中,将编辑后的结果赋给临时变量,并将multiple属性设置回原来的状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值