浏览代码

update 演示树表 增加 展开/折叠 功能

疯狂的狮子Li 2 年之前
父节点
当前提交
7984fdfd20
共有 1 个文件被更改,包括 25 次插入3 次删除
  1. 25 3
      ruoyi-ui/src/views/demo/tree/index.vue

+ 25 - 3
ruoyi-ui/src/views/demo/tree/index.vue

@@ -39,14 +39,24 @@
           v-hasPermi="['demo:tree:add']"
         >新增</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          plain
+          icon="el-icon-sort"
+          size="mini"
+          @click="toggleExpandAll"
+        >展开/折叠</el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table
+      v-if="refreshTable"
       v-loading="loading"
       :data="treeList"
       row-key="id"
-      default-expand-all
+      :default-expand-all="isExpandAll"
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
       <el-table-column label="父id" prop="parentId" />
@@ -54,12 +64,12 @@
       <el-table-column label="用户id" align="center" prop="userId" />
       <el-table-column label="树节点名" align="center" prop="treeName" />
       <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-        <template slot-scope="scope">
+        <template #default="scope">
           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
+        <template #default="scope">
           <el-button
             size="mini"
             type="text"
@@ -135,6 +145,10 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      // 是否展开,默认全部展开
+      isExpandAll: true,
+      // 重新渲染表格状态
+      refreshTable: true,
       // 创建时间时间范围
       daterangeCreateTime: [],
       // 查询参数
@@ -233,6 +247,14 @@ export default {
       this.open = true;
       this.title = "添加测试树表";
     },
+    /** 展开/折叠操作 */
+    toggleExpandAll() {
+      this.refreshTable = false;
+      this.isExpandAll = !this.isExpandAll;
+      this.$nextTick(() => {
+        this.refreshTable = true;
+      });
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.loading = true;