首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vue.js和element UI,如何根据复选框值使必填字段成为可选字段?

使用Vue.js和element UI,如何根据复选框值使必填字段成为可选字段?
EN

Stack Overflow用户
提问于 2018-09-26 22:37:59
回答 1查看 4.3K关注 0票数 0

我在Vue.js项目中使用元素UI库,两个输入域都是必需的。如何在点击复选框后使第一个字段不是必填项?

模板:

代码语言:javascript
复制
<el-form :model="MainForm.dynamicValidateForm" ref="MainForm" class="demo-dynamic" :rules="rules" :inline-message='false'>

     <el-form-item label="label-1" prop="value1">
           <el-input v-model="MainForm.value1" ></el-input>
      <el-form-item>    

    <el-form-item label="label-2" prop="value2">
         <el-input v-model="MainForm.value2" ></el-input>
    <el-form-item>

    <el-form-item>
        <el-checkbox v-model="MainForm.mycheckbox">Make first optional</el-checkbox>
    </el-form-item>      

</el-form>

App.js:

代码语言:javascript
复制
new Vue({
  el: '#app',

    data: {

    MainForm:
    {
      value1: '',
      value2: '',
      mycheckbox: false

    },  

  rules: {
      value1: [
        { required: true, message: 'Please input Activity name'},
      ],

      value2: [
        { required: true, message: 'Please input Activity name'},
      ],

    }

},

methods: {


        }

})

https://jsfiddle.net/wuophbfz/

EN

回答 1

Stack Overflow用户

发布于 2018-09-26 22:54:00

您可以使用一个名为rulescomputed属性来让动态规则按您所需的方式响应:

代码语言:javascript
复制
computed: {
    rules() {
        const isRequired = this.MainForm.mycheckbox === false;
        return {
          value1: [
            { required: isRequired, message: 'Please input Activity name'},
          ],
          value2: [
            { required: isRequired, message: 'Please input Activity name'},
          ],
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52520336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档