目标:在做一个申请单批量提交删除的页面的时候,在没有选中申请单条目时,将“提交”和“删除”按钮置灰,
一开始的思路在el-table的@change获取到选中项,判断其长短是否大于0,然后置灰按钮,
但素,我忘了在列表中选中的条目已经被删除或者提交后重新获取表单的时候,“提交”和“删除”按钮依然可用!
是什么地方出问题了呢?
因为这时候选中项没有变化,不会再去执行组件封装的选中项变化时 检验 其选中项 是否大于0的函数了!
el-table有一个clearSelection的方法可以清空选中项,但是在执行后报了错“clearSelection is not a function”。
因为这个表格是被我封装过的,在当前组件中是包含el-table的被封装后的那个组件的名称,有其自己的作用域。
在父组件调用封装后的组件名称下的table特定的函数就报错了!
refs指向的是当前父组件中占位的子组件,而不特指子组件中的el-table!!
将this.$refs.tableName.clearSelection()方法写在封装el-table所在的组件方法中,再在父组件触发这个函数就可以了.