element表单校验rules数据更新后不是实时生效的

发布于 2022-09-11 22:57:45 字数 752 浏览 13 评论 0

有两个按钮 (save、post) 每个按钮校验规则不同
我在点击其中一个按钮的时候将 rules 修改为对应的规则
`

//修改为save
this.rules = this.validator('landlordAuthorityForSave')
const validate = await this.validatorSubmit('landlord')
  if (!validate) {
    this.$message.error(this.$i18n.t('InvalidFormMessage.value'))
    return false
  }
  //  save验证通过

`

//修改为post
  this.rules = this.validator('landlordAuthority')
  const validate = await this.validatorSubmit('landlord')
  if (!validate) {
    this.$message.error(this.$i18n.t('InvalidFormMessage.value'))
    return false
  }
  //  post验证通过

`

我在第一次点击save的时候为save的验证规则.
然后我点击post的时候,规则应该修改为了post的规则,但还是按着save的验证规则走的
我第二次点击post的时候,就改为post的校验规则了。
这里该如何处理呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断桥再见 2022-09-18 22:57:45

你将一个对象赋值给this.rules,是修改了this.rules的地址值,vue不能监测到数值变动。
使用this.$forceUpdate();强制更新 或者 使用对象操作方法修改this.rules

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文