美文网首页
Vue 关于Table的一些操作

Vue 关于Table的一些操作

作者: 通通小小通 | 来源:发表于2021-11-12 16:13 被阅读0次

最近一直使用element 写前端写一些经常用到的案例

  • 合并Table单元格
<el-table  :data="tableData" border :span-method="objectSpanMethod" style="width: 100%">
    <el-table-column  prop="order"  label="序号" align="center" width="50"></el-table-column>
    <el-table-column  prop="name" :label="'名称'"  align="center" fixed="left" width="70"></el-table-column>
</el-table>
<script>
export default {
  name: 'StationsStaTable',
  data () {
    return {
        tableData: [],
    },
  methods: {
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
        // 指定合并的列我只对第一和第二列进行了合并
        if (columnIndex === 1 || columnIndex === 0) {
            if(rowIndex > 0 && row[column.property] === this.tableData[rowIndex - 1][column.property]){
                return {
                    rowspan: 0,
                    colspan: 0
                };
            }else{
                let rows = 1;
                // 查询相同的内容有多少行 进行合并
                for(let i = rowIndex; i < this.tableData.length - 1; i++){
                    if (row[column.property] === this.tableData[i + 1][column.property]) {
                        rows++;
                    }
                }
                // 返回相同内容的行数
                return {
                    rowspan: rows,
                    colspan: 1
                };
            }
        }
      }
 }
  • 表头合并
    采用的是结合CSS隐藏的方式
<el-table ref="tableRef" v-loading="loadingTab" class="table" :data="tableData" height="100%"  size="mini" border :span-method="spanMethod" :header-cell-style="headerStyle">
      <el-table-column prop="positionName" label="岗位" width="200px"> </el-table-column>
</el-table>
<script>
export default {
  name: 'StationsStaTable',
  data () {
    return {
        tableData: [],
    },
  methods: {
    headerStyle ({ row, column, rowIndex, columnIndex }: any) {
      // row[2] 是列的下标,从0开始,row[3].colSpan = 0是需要去除的列的下标
      row[2].colSpan = 2
      row[3].colSpan = 0
      if (columnIndex === 3) {
        return 'display: none'
      }
    }
 }

相关文章

网友评论

      本文标题:Vue 关于Table的一些操作

      本文链接:https://www.haomeiwen.com/subject/surozltx.html