Vue2 ElementUi 表格复选框如何监听表格复选框,当任意一个复选框被选中时触发相应条件

Vue2 ElementUi 表格复选框
如何监听表格复选框,当任意一个复选框被选中时触发相应条件。
我试过用computed获取到refs的selection再watch不过不奏效

img

img

或许这个可以帮助你
const listData=computed(()=>{
JSON.parse(JSON.stringfy(list||[]))
})
watch(listData,
val=>{
flag.value=_.isEqual(listParse.value,val)
if(!flag.value){你的操作}
},
{deep:true})

可以看一下官方文档 可以直接获取到选中项的

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7654345
  • 这篇博客也不错, 你可以看下Vue elementui 实现表格selection的默认勾选
  • 除此之外, 这篇博客: Vue2.x ElementUI登录表单中加入验证码倒计时功能中的 Vue2.x ElementUI登录表单中加入验证码倒计时功能 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述

    部分Vue代码如下:

    <el-form ref="loginForm" :model="loginForm" status-icon :rules="rules" class="login-form">
      <el-form-item label="" prop="code" class="pr">
         <el-input prop="code" v-model="loginForm.code" placeholder="验证码"></el-input>
         <button @click="getCode(regForm)" class="code-btn" :disabled="!show">
            <span v-show="show">发送验证码</span>
            <span v-show="!show" class="count">{{count}} s</span>
         </button>
      </el-form-item>
    </el-form>
    

    部分样式代码:

    .pr {
       position: relative;
    }
    .code-btn {
       width: 100px;
       height: 34px;
       position: absolute;
       top: 3px;
       right: 5px;
       z-index: 222;
       color: #F5A623;
       font-size: 14px;
       border: none;
       border-left: 1px solid #bababa;
       padding-left: 16px;
       background-color: #fff;
    }
    

    js代码:

    <script>
    const TIME_COUNT = 60 // 倒计时的时间
    export default {
      data () {
        return {
          loginForm: {
            mobile: '',
            code: ''
          },
          show: true,
          count: '',
          timer: null
        }
      },
      methods: {
        getCode (formData) {
          // 验证码倒计时
          if (!this.timer) {
            this.count = TIME_COUNT
            this.show = false
            this.timer = setInterval(() => {
              if (this.count > 0 && this.count <= TIME_COUNT) {
                this.count--
              } else {
                this.show = true
                clearInterval(this.timer)
                this.timer = null
              }
            }, 1000)
          }
        }
      }
    }
    </script>
    

    好了,以上即实现了验证码倒计时的功能。我这里并没有把这个方法提取出来做公共方法,其实如果多个页面要用的话,建议还是把它抽出来放在工具函数的js文件里面,然后哪个页面需要就import单个方法使用即可。

    如果需要在点击之前验证手机号是否填写,在getCode里面加一个判断就可以了。