用element ui的表格懒加载,添加修改的时候如何只让表格的下级局部刷新?

发布于 2022-09-11 23:22:30 字数 2046 浏览 19 评论 0

只有点击父级的时候才会触发懒加载的函数,现在我想添加修改的时候也触发这个函数,不过这个load函数中的resolve我不知道怎么传?还是用什么其他办法解决???

    <el-table
     :data="tableData"
     row-key="id"
     lazy
     :load="load"
     border>
    <el-table-column
      prop="name"
      label="类目名称"
      width="180">
    </el-table-column>
    <el-table-column
      prop="categoryLevel"
      label="类目层级"
      width="180">
    </el-table-column>
    <el-table-column
      prop="categoryType"
      label="类目类型">


    //树型懒加载,加载层级类目
  load(tree, treeNode, resolve) {

        //tree为点击那一行的数据
        let value = tree
        console.log(tree)
        if(tree.categoryLevel < 3){
          api.listByLevel({
            pid:tree.id,
            categoryLevel:tree.categoryLevel+1
          }).then((res)=>{
            console.log(res)
            var levelData = res.data.data
            if(tree.categoryLevel < 2){
              for(let i in levelData){
                levelData[i].hasChildren = true
              }
            }

            resolve(levelData)
          })
        }

  },
  
  
  
  //确认添加商品类目
   addCommodityCategory(){
     api.addCommodityCategory({
       name:this.formLevel.name, 
       imagePath:this.formLevel.imagePath, 
       categoryLevel:this.formLevel.categoryLevel,
       pid:this.formLevel.id, 
       icon:this.formLevel.icon, 
       categoryType:this.formLevel.categoryType,
       
       thirdPartyCategoryId:this.formLevel.thirdPartyCategoryId, 
       thirdPartyCategoryName:this.formLevel.thirdPartyCategoryName, 
       enabled:this.formLevel.enabled, 
     }).then((res)=>{
       console.log(res)
       var code = res.data.code
       if(code == 10000){
         this.$message.success("添加成功")
         if(this.formLevel.categoryLevel == 1){
           this.getListByLevel(0,1)
         }else{
           this.load(this.formLevel,)
         }
       }
     })
   },
       
       
       

image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七禾 2022-09-18 23:22:30

搜索 Vue+Element中Table懒加载删除后实现数据动态更新
找了好久,我这需求 懒加载 默认展开第一项

叶落知秋 2022-09-18 23:22:30

可以存到 map 里面,调用的时候去查找。

data () {
    map: new Map()
},
methods: {
    load () {
        // 保存 { row, treeNode, resolve } 以备调用 load 时使用
        const Id = row.id
        this.maps.set(Id, { row, treeNode, resolve })
    },
    fn () {
        // 已经懒加载过子级数据
         if (this.maps.has(Id)) {
           const { row, treeNode, resolve } = this.maps.get(Id)
           this.load(row, treeNode, resolve)
         } else {
           // 未曾懒加载过子级数据,模拟点击
           this.findExpandIcon(scope)
         }
    },
    findExpandIcon(scope) {
       this.$nextTick(() => {
         const expandIcon = this.$el.querySelector(`.row-index-${scope.$index} .el-table__expand-icon`)
         if (expandIcon) {
           expandIcon.click()
         }
       })
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文