【element ui动态prop校验未生效问题】-2022-07-27

这篇具有很好参考价值的文章主要介绍了【element ui动态prop校验未生效问题】-2022-07-27。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

element ui动态prop校验未生效问题

  • 需求:prop使用三元表达式赋值,实现动态验证,满足条件时才校验
  • 动态校验失效:
<el-form-item :prop="form.type=== 2 ? 'templateId' : ''">
	<el-select v-model="form.templateId" placeholder="请选择模板">
         <el-option
            v-for="item in templateList"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          />
     </el-select>
</el-form-item>
  • 失效原因:
    只是动态修改了prop属性,而并未触发表单的重新渲染,验证器中的prop属性并未更新,还是初次渲染时的空值
    如果使用v-if根据form.type切换两个el-item结果仍是不生效,因为vue的diff算法,在diff算法中会尽可能的复用组件,所以此处看上根据form.type进行切换,但实际上diff算法会复用组件,并没有重新渲染,所以需要配合key属性。
  • 所以最终解决方案:
    1、在el-item中加上:key=“form.type”,dom元素会根据key值的不同重新渲染,从而更新检验
    2、或者动态更新校验规则rule
<el-form-item :key="form.type" :prop="form.type=== 2 ? 'templateId' : ''" :rules="form.type=== 2 ? [{ required: true, message: '请输入模板', trigger: 'blur' }] : []">

文章来源地址https://www.toymoban.com/news/detail-618717.html

到了这里,关于【element ui动态prop校验未生效问题】-2022-07-27的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui form表单的动态rules校验

    在vue 项目中,有时候可能会用到element-ui form表单的动态rules校验,比如说选择了哪个选项,然后动态显示或者禁用等等。 我们可以巧妙的运用element-ui form表单里面form-item想的校验规则来处理(每一个form-item项都可以单独校验)。 上代码: 重点是这个: :rules=“sqyxForm.jtpslx

    2024年02月15日
    浏览(37)
  • 【element-ui】form表单动态修改rules校验项

    在项目开发过程中,该页面有暂存和提交两个按钮,其中暂存和提交必填项校验不一样,此时需要动态增减必填项校验 ,解决方法如下: 增加rules校验项 删除rules校验项

    2024年02月04日
    浏览(43)
  • element框架select值更新页面不回显的问题,动态表单props绑定问题

    当data中默认没有定义form.region的值时,会出现选择select后input没有回显选择数据值; 所以使用select时,必须定义默认值 强制重新加载页面@visible-change=“$forceUpdate()”

    2024年02月12日
    浏览(27)
  • element-ui 动态渲染input输入框、下拉框并校验

    先看效果: 代码实现: HTML JS

    2024年02月16日
    浏览(32)
  • element-ui el-image :initial-index 动态调整不生效

    vue 版本 2.6.11 element-ui 2.12.0 在使用 el-image 时需要展示图片列表并查看,但我无论怎么尝试 :initial-index=\\\"index\\\"都不会生效,或者是我的使用方法不对。 目前是使用了一个动态的集合来改变:preview-src-list=“showImageList(index)” 的值,从而实现点击任意图片即打开预览,并且不影响上

    2024年01月24日
    浏览(34)
  • 2022.9.17 vue、element-ui实现登录获取手机验证码,进行手机号校验、验证码CD60秒

    1、直接点击,不为空校验 2、输入手机号格式不正确时 3、获取完验证码进行读秒 三、vue 1、进行手机号校验关键在对单个手机号输入框进行校验,需要使用到validateField对部分表单字段进行校验,valid是校验完的提示信息,当valid为空时代表校验成功 2、读秒和设置禁用,在校

    2024年02月11日
    浏览(33)
  • 关于element ui 中使用表单校验字段,校验一直不消失的问题

    element ui 中form表单,当遇到表单项为上传文件或者图片等等,上传完成之后,点击确定按钮,该表单项校验规则仍然不消失,如下   解决方法为,在上传成功的方法中手动移除校验,并且将rules里面的改字段赋值为空数组,如下:  同时要注意在下次打开新增页面的时候,要

    2024年02月12日
    浏览(30)
  • 解决Element-UI清空表单及验证不生效的问题

    由于我将编辑与新增时,表单使用的是同一个data中的数据,这就导致出现了我点击了编辑后,再次点击新增时,出现了数据依旧是刚才编辑表单中的数据。 通过 手动给表单中的字段赋值 ,期初时,能达到清除表单的效果,但是又出现了新的问题。 表单验证不通过。在一打

    2024年02月13日
    浏览(29)
  • element-ui 表单校验,el-select校验失效问题

    form表单验证时,遇到了校验失效问题,有值的情况下,校验规则并没有对应消失,检查了几个容易出错的地方:1、:model=\\\"addForm\\\" 用model绑定表单,而不是v-model,没问题 2、需要添加校验的对应字段,是否添加了prop属性,ok没问题 3、检查rules,里面校验提示的事件是否正确,发

    2024年02月11日
    浏览(46)
  • vue+element多层表单校验prop和rules

    核心点:外层循环是item和index,内层循环是item2和index2 如果都是定义的同一个属性名 外层循环得写 :prop=\\\"\\\'block.\\\'+index+\\\'.numerical\\\'\\\" 同理内层循环就得写 :prop=\\\"\\\'objectSpecs.\\\'+ index2 + \\\'.numerical\\\'\\\" 校验函数方法 :rules=\\\"getRules(item2, item2.name)\\\"

    2024年02月13日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包