Vue3+elementplus动态表格table实现

Vue3+elementplus动态表格table实现

描述:使用el-table的时候,根据需求,能够实现由字段个数动态增加表格列,表格行数固定为3行。

实现效果

实现代码

js 复制代码
// 行数由tableData2控制,列数由tableData字段动态控制(for循环)
<el-table
      v-if="statement_flag"
      border
      :data="tableData2"
      style="margin-bottom: 40px"
    >
      <el-table-column
        label="界面名称"
        min-width="150"
        align="center"
        prop=""
      >
        <template #default="scope">
          {{ ViewTxt[scope.$index] }}
        </template>
      </el-table-column>
      <el-table-column
        label="用户"
        align="center"
        min-width="150"
        prop=""
      >
        <template #default="scope">
          ALL
          <!-- {{ checkboxGroup2 }}  -->
        </template>
      </el-table-column>

      <el-table-column
        v-for="(item,index) in tableData"
        :key="index"
        align="center"
        min-width="150"
        :label="item.name"
      >
      </el-table-column>
</el-table>



// 行数由tableData2控制,所以只需要固定为3行即可
<script setup>
if (tableData.value.length >= 3) {
    tableData2.value = tableData.value.slice(0, 3)
  } else {
    tableData2.value[0].name = tableData.value.name
    tableData2.value[0].action = tableData.value.action
    while (tableData2.value.length < 3) {
      tableData2.value.push({})
    }
  }
</script>

总结:如果需要控制行数,并且动态加载列数,故需要两个变量进行设置,这里采用的就是这个思想,能够实现需求效果。

相关推荐
于冬恋7 分钟前
Web后端开发(请求、响应)
前端
red润13 分钟前
封装hook,复刻掘金社区,暗黑白天主题切换功能
前端·javascript·vue.js
Fly-ping14 分钟前
【前端】vue3性能优化方案
前端·性能优化
curdcv_po15 分钟前
前端开发必要会的,在线JS混淆加密
前端
天生我材必有用_吴用17 分钟前
深入理解JavaScript设计模式之单例模式
前端
LuckySusu17 分钟前
【HTML篇】DOCTYPE 声明:掌握浏览器渲染模式的关键
前端·html
Darling哒18 分钟前
HTML块拖拽交换
前端
码农之王19 分钟前
(一)TypeScript概述和环境搭建
前端·后端·typescript
葬送的代码人生31 分钟前
React组件化哲学:如何优雅地"变秃也变强"
前端·javascript·react.js
用户527096487449032 分钟前
🚀 前端项目代码质量配置Prettier + Commitlint + Husky + Lint-staged
前端