vue el-table组件实现展开行 默认展开全部

html 复制代码
    <el-table :data="tableData" style="width: 100%; height: 100%;font-size:1em;" :row-key="get_row"
        :expand-row-keys="expand_rowkeys">
        <el-table-column type="expand">
          <template #default="props">
            <div style="box-sizing:border-box;padding:10px">
              <el-table :data="props.row.user" :border="false">
                <el-table-column label="执行人" prop="user_name" />
                <el-table-column label="任务" prop="title" :show-overflow-tooltip="true" />
                <el-table-column label="任务状态" prop="status">
                  <template v-slot="scope">
                    <span :class="getStatusColor(scope.row.status)">{{
                      getStatusName(scope.row.status) }}</span>
                  </template>
                </el-table-column>
                <el-table-column label="截止时间" prop="finish_time" />
                <el-table-column label="操作" min-width="30" fixed="right">
                  <template v-slot="scope">
                    <div class="opera">
                      <span class="link btncomplete iconfont icon-ziyuan165"
                        v-if="scope.row.status != 2 && scope.row.status != 4 && (((userStore.info.id == scope.row.link_user_id || userStore.info.id == props.row.user_id)&&props.row.type!=3)||(userStore.info.id == scope.row.link_user_id&&props.row.type==3))"
                        @click="handle_complete(scope.row, props.row)">&nbsp;&nbsp;确认</span>
                    </div>
                  </template>
                </el-table-column>
              </el-table>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="create_user" label="创建人" show-overflow-tooltip />
        <el-table-column prop="date" label="截止时间" show-overflow-tooltip />
        <el-table-column prop="created_at" label="创建时间" show-overflow-tooltip />

        <el-table-column label="操作" min-width="30" fixed="right">
          <template v-slot="scope">
            <div class="opera">
              <el-tooltip class="box-item" effect="dark"
                v-if="(scope.row.type == 3 || scope.row.user_id == userStore.info.id && scope.row.type != 3) && scope.row.status != 2"
                content="编辑" placement="top">
                <span class="iconfont icon-bianji" @click="handle_edit(scope.row)"></span>
              </el-tooltip>
              <el-tooltip class="box-item" effect="dark" content="关闭"
                v-if="scope.row.task_status != 4 && scope.row.status != 2 && (scope.row.type != 1 || (scope.row.type == 1 && scope.row.user_id == userStore.info.id))"
                placement="top">
                <span class="iconfont icon-guanbi" @click="handle_close(scope.row)"></span>
              </el-tooltip>
            </div>
          </template>
        </el-table-column>
      </el-table>

获取数据的时候

javascript 复制代码
 expand_rowkeys.value = tableData.value.map(x => x.id);

文档地址

相关推荐
lemon_sjdk7 小时前
DOM 节点
java·前端·javascript
leoZ2317 小时前
2026-09-09-springboot-cloud-deploy-pitfalls
java·前端·javascript·vue.js·人工智能·spring boot·后端
芭拉拉小魔仙8 小时前
Vue 2 门诊收费系统中的医保结算流程设计与实践
前端·javascript·vue.js
moonrailgun8 小时前
用 Node.js 复刻 Codex Astra 的终端星光
前端·javascript·算法
默_笙8 小时前
💫 给金鱼建图书馆(下):Milvus 向量数据库,让 AI 拥有长期记忆
前端·javascript
liangshanbo12159 小时前
手写 Function.prototype.call 与 Function.prototype.apply 面试题满分答案
开发语言·javascript·原型模式
CoderYanger10 小时前
前端基础——JavaScript(WebAPI)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
JunjunZ12 小时前
Naive UI 虚拟级联选择器适配 Element Plus 风格
前端·javascript·vue.js
闲坐含香咀翠13 小时前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
用户3028225306813 小时前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript