小秦哥 发表于 2024-6-21 13:22:39

elementplu父级页面怎么使用封装子组件原组件的方法

一、使用原因:
封装了el-table,表格中有多选,父级要根据指定状态,让其选择不上,须要用到elementplus中table原方法toggleRowSelection
附加小知识点:(el-tree刷新树后之前选中的保持高亮setCurrentKey:orgnTreeDom.value.$refs.tree.setCurrentKey(treeObj.checkedKey);)
二、结果图:
https://img-blog.csdnimg.cn/direct/de5806ebb4e24f8694d220664de5abe1.png
三、代码结构
1、el-table封装的组件:
https://img-blog.csdnimg.cn/direct/7e322f4259ee499e8b2d3f9547023203.png
2、父级使用封装el-table结构部分
https://img-blog.csdnimg.cn/direct/c03bd7c7b4f34b388dd735924dc9e764.png
父级使用封装el-table结构部分代码
1、结构
<scada-table
      ref="companyTable" // 有用1
      index
      selection // 有用2
      maxHeight="60vh"
      :loading="tableObj.loading"
      :column-option="tableObj.columnOption"
      :table-data="tableObj.tableData"
      :pageData="tableObj.pageData"
      @currentChange="tableObj.currentChange"
      @sizeChange="tableObj.sizeChange"
      @selectionChange="tableObj.selectionChange" // 有用3
      >
      </scada-table>

2、selectionChange 每行多选方法
const companyTable = ref() // 有用1定义的ref
selectionChange: (data) => {
    tableObj.selectList = data;
    let leng = data.length
    if(leng > 0){
      data.forEach((item,ind)=>{
      if(item.contentStatus == '0' || item.contentStatus == '2'){
      //******这是重点***********
      companyTable.value.$refs.table.toggleRowSelection(data, false);
      ElMessage.warning("该文章审核状态不符合发布操作!");
      }
      })
    }
   
   
},


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: elementplu父级页面怎么使用封装子组件原组件的方法