当前位置: 首页 > news >正文

武邑网站建设设计云网站

武邑网站建设,设计云网站,网站建设公司如何找客户,欧美男女直接做的视频网站前言 以下内容都是基于element Plus 和 vue3 一个form-item校验两个下拉框 有时候不可避免会遇到需要一个form-item校验两个下拉框的情况#xff0c;比如#xff1a; 这种情况下传统的校验已经无法实现#xff0c;需要通过form表单提供的自定义校验来实现。以上面的必填…前言 以下内容都是基于element Plus 和 vue3 一个form-item校验两个下拉框 有时候不可避免会遇到需要一个form-item校验两个下拉框的情况比如 这种情况下传统的校验已经无法实现需要通过form表单提供的自定义校验来实现。以上面的必填为例 el-form-item label工作时报 propworkStartTimeel-selectv-modelstates.formData.workStartTimefilterablestylewidth: 120pxplaceholder请选择clearableel-optionv-foritem in states.workStartTimeList:keyitem.completeTime:labelitem.label:valueitem.completeTime//el-selectspan stylepadding: 0px 5px ~ /spanel-selectv-modelstates.formData.workEndTimefilterablestylewidth: 120pxplaceholder请选择clearablerefworkEndTimeRefel-optionv-foritem in states.workEndTimeList:keyitem.completeTime:labelitem.label:valueitem.completeTime//el-select /el-form-itemconst validatePass (rule: any, value: any, callback: any) {let workEndTime workEndTimeRef.value.selected.valueif (value workEndTime) {// 校验成功这里也可以一些其他逻辑callback()} else {callback(new Error(工作时报不能为空))} } const rules reactive({workStartTime: [{required: true,validator: validatePass,trigger: change,},], })注意点 1、定义的校验方法要放在校验规则上面不然会提示找不到方法 2、这点最重要首先form-item上绑定的属性是workStartTime所以你校验方法中只能拿到该属性对应的值。另一个下拉的值要先获取到你必须在下拉上绑定一个ref 你可以通过打印这个ref来找到另一个下拉的值。当第一个下拉改变后就会触发校验这时只需要判断两个下拉是否都已经有值如果没有值返回提示信息就好。 下拉框加一个二次确认确认值是否改变 以下图为例当计划类型值的改变时需要清空其他值时这时最好给与一个二次确认。确认是否改变而不是直接改变导致其他数据被清空这样会很奇怪。 这里的问题是当取消后应该显示原来显示的值。最初想的方向有点错了想通过监听来实现当取消时直接将旧值赋值给绑定的属性但实际结果是监听一直被触发确认弹窗无法被关闭。 其实实现起来挺简单最怕的就是方向想错了。可以定义一个变量来保存旧值然后将二次确认弹窗的部分加到下拉框change事件里 // 计划类型改变事件 const planTypeChange val {if (states.lastPlanType) {E_Msg.confirm(提示, 计划类型改变将清空所有资源对应的编码是否确认修改).then(() {emits(planTypeChange, val, true)}).catch(() {states.formData.planType states.lastPlanType})} else {states.lastPlanType val} }当第一次下拉选择时不应该弹出二次确认这时将当前选择的值记录当下次下拉改变后就会进行提示。 这里不用判断记录的值是否和当前选择的值相同只有当下拉值改变后才会触发change事件。change事件触发了一定说明值改变了。 获取form校验的返回结果 有时候因为业务逻辑比较复杂就会进行组件拆分。这时遇到的问题时如何在父组件里获取到子组件校验后的返回值。查了一下确实可以实现 // 子组件//获取表单数据 const getFormData () {return baseFormRef.value.validate().then(res {console.log(校验结果, res)if (res) {// 校验成功将表单数据返回return states.formData} else {// 检验失败返回false表示子组件表单检验不满足return false}}) }// 父组件子组件的返回值是一个promise函数这里要进行处理// 这里比较特殊父组件也需要进行校验正常情况添加上 async和await就好 formRef.value.validate(async valid {if (valid) {// 基本信息const baseData await baseRef.value.getFormData()// 资源信息const resourceData resourceRef.value.getFormData()console.log(保存的信息, baseData, resourceData)if (baseData resourceData) {}}})
http://www.dnsts.com.cn/news/267702.html

相关文章:

  • 项目计划书怎么写杭州网站seo外包
  • 专业做二手网站有哪些保险代理公司注册条件
  • 企业网站在线留言工作不好找怎么办
  • wordpress 网站加载过慢网络推广的好处
  • php在网站后台建设中的优势 张晋芳百度收不到我的网站
  • 新开传奇网站发布站网站开发 资质
  • 建网站中企动力最行微信网站用什么软件做
  • 河池网站seoh5网站显示的图标怎么做
  • 个人 建设图片分享网站win7优化设置
  • 最专业的网站建设公司杭州未来科技网站建设
  • 济南网站定制泉州模板建站源码
  • 企业网站和域名的好处学建模去什么学校
  • 专做坏消息的网站wordpress用户上传照片
  • 定制您的专属建站方案旅游网站设计与制作课程设计
  • 网站开发需要学些什么如何制作微视频宣传片
  • 公司怎么建立自己的网站返回链接 网站惩罚检查 错误检查
  • 中山市小榄新意网站设计有限公司天津知名网站建设公司
  • 西安个人做企业网站网络营销的特点分别是
  • 领手工在家做的网站2019工业产品设计作品集
  • 枣庄公司网站建设无锡百度正规公司
  • 使用cn域名做网站的多吗Wordpress报价主题
  • 网站设置专栏佛山市建设行政主管部门网站
  • 商品展示型网站有哪些国内外ai设计素材网站
  • 我的电脑做网站服务器吗广告公司推广渠道
  • 网站常见的域名现在的网站一般做多宽最好
  • 好看的学校网站模板无锡网站制作网站建设
  • 网站建设公司的服务器wordpress导出数据字典
  • win2008 建立网站大连网站制作报价
  • 优化网站排名方法教程动易 网站文章
  • 淘宝客为什么做网站网页设计代码开头