【问题标题】:i want to do a dynamic form with v-if我想用 v-if 做一个动态表格
【发布时间】:2019-12-06 21:43:20
【问题描述】:

如果该人单击“是”但未单击任何内容,我想显示额外的输入

我尝试用 v-if 做到这一点,但我的价值永远不会改变 这是 vuejs 中的整个页面,也许我需要做一个方法,我已经尝试不带引号和使用,我设置像 club = 1 这样的值但没有用。 我不确定我的 v-bind 是否也很好

        <el-form-item label="Possédez vous un club ?">
          <el-radio-group v-model="ruleForm.club">
            <el-radio label="Oui" v-bind:value="true"></el-radio>
            <el-radio label="Non" v-bind:value="false"></el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item v-if="'ruleForm.club' == true" label="Nom du club" prop="nClub">
          <el-input v-model="ruleForm.nClub" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="submitForm('ruleForm')">Submit</el-button>
        <el-button @click="resetForm('ruleForm')">Reset</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data () {
    var validatePseudo = (rule, value, callback) => {
      if (value === '' || value !== 'coach') {
        callback(new Error('Please input the pseudo'))
      } else {
        callback()
      }
    }
    var validatePass = (rule, value, callback) => {
      if (value === '' || value !== 'password') {
        callback(new Error('Please input the password'))
      } else {
        callback()
      }
    }
    return {
      ruleForm: {
        nom: '',
        prenom: '',
        pseudo: '',
        email: '',
        pass: '',
        statue: '',
        club: '',
        nClub: ''
      },
      rules: {
        pseudo: [
          { validator: validatePseudo, trigger: 'blur' }
        ],
        pass: [
          { validator: validatePass, trigger: 'blur' }
        ]
      }
    }
  },
  methods: {
    submitForm (formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          this.$router.push({
            name: '/'
          })
        } else {
          console.log('error submit!!')
          return false
        }
      })
    },
    resetForm (formName) {
      this.$refs[formName].resetFields()
    },
  }
}
</script>

【问题讨论】:

  • 尝试从v-if="'ruleForm.club' == true"中删除''(引号)
  • 没有任何改变
  • 请提供更多代码
  • 你只试过v-if="ruleForm.club"
  • 先检查数据有没有变化,也可以用v-show代替v-if

标签: forms vue.js element-ui


【解决方案1】:

我不太明白您的问题,但据我所知,如果用户使用v-if 选择某个单选按钮,您想添加一个输入字段。我在 jsfiddle 中重新创建了这个。这是你要找的吗?

链接:https://jsfiddle.net/Mertakus/8wx4h7up/3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多