element UI-table 表格列宽 根据内容自适应

文章介绍了如何安装和引入AFTableColumn组件,然后在Vue项目中与ElementUI的el-table-column结合使用,展示如何创建数据列并实现自定义内容。示例代码展示了在表格中同时使用AFTableColumn和el-table-column的方法。

1、安装包

npm install af-table-column

2、在main.js中引入

import Vue from 'vue'
import ElementUI from 'element-ui'
//需要按需引入,先引入vue并引入element-ui
import AFTableColumn from 'af-table-column'
 
Vue.use(AFTableColumn)

3、进行使用

<template>
  <el-table :data="data">
    <af-table-column label="列1" prop="field1"></af-table-column>
    <af-table-column label="列2" prop="field2"></af-table-column>    
    <!--也支持简单的自定义内容-->
    <af-table-column label="列3">
      <template slot-scope="scope">
        <div>自定义显示值31: {{ scope.row.field31 }}</div>
        <div>自定义显示值32: {{ scope.row.field32 }}</div>
      </template>
    </af-table-column>
  //也支持element-ui原有的el-table-column
    <el-table-column  label="操作">
      <template slot-scope="scope">
        <el-button @click="removeItem">删除</el-button>
      </template>
    </el-table-column >
    //af-table-column 和el-table-column 可以同时在一个表格中使用
  </el-table>
</template>

可以与 el-table-colum 进行混用 也可以单独进行使用

Element UI的el-table内容自适应可以通过以下几种方法实现: - **动态计算高度结合自定义指令与二次封装组件**:el-table 通常与搜索组件一同使用,而搜索组件可能存在收起展开等情况,导致表格高度无法固定,需要动态计算。为避免每个页面重复编写动态计算代码,可采用自定义指令配合二次封装的 table 组件来实现高度自适应 [^1]。 - **在 el-table 中绑定高度属性**:在 el-table 标签中添加 `:height="tableHeight"` 属性,例如 `<el-table :data="tableData" :fit="true" :highlight-current-row="true" style="width: 100%" :height="tableHeight" >`,通过设置 `tableHeight` 的值来实现高度自适应 [^2]。 - **在页面使用时绑定高度和引用**:在页面使用时,为 el-table 添加 `ref` 属性并绑定高度,如 `<el-table ref="tableRef" :height="tableHeight">`,同时可结合分页组件 `<el-pagination v-if="total > 0" ref="paginationRef"></el-pagination>` 实现自适应 [^3]。 ```vue <template> <div> <el-table ref="tableRef" :data="tableData" :fit="true" :highlight-current-row="true" style="width: 100%" :height="tableHeight"> <!-- 表格定义 --> </el-table> <el-pagination v-if="total > 0" ref="paginationRef"></el-pagination> </div> </template> <script> export default { data() { return { tableData: [], tableHeight: null, total: 0 }; }, mounted() { // 这里可以添加动态计算 tableHeight 的逻辑 this.tableHeight = 500; // 示例值,实际需要根据页面布局动态计算 } }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值