0

我只是从 Vue 和 Vuelidate 开始。我有一个表格,它的工作方式如下:

  1. 该表单显示一个是/否单选按钮组。
  2. 如果选择了单选按钮“是”,则表单会显示一个复选框。
  3. 如果以下条件之一为真,则应启用表单的提交按钮:
    1. 单选按钮设置为“否”。或者
    2. 单选按钮设置为“是”并选中复选框。

我遇到了 3 中描述的条件。我当前的验证如下所示:

termsAccepted: { checked: value => value === true }

这基本上适用于案例 3.2,但不适用于 3.1。在这种情况下,表单仍然被禁用。

  b-form-checkbox#termsAccepted(
    v-model="termsAccepted"
    :state="!$v.termsAccepted.$invalid"
    :disabled="disableForm"
  )
4

1 回答 1

1

这听起来像是一份computed property工作: Computed Property Documentation
您可以执行以下操作:

computed: {
    isEnabled() {
      return !radiobutton || (radiobutton && checkbox.checked)
    }
  }
于 2019-06-19T09:23:06.837 回答