最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度

 更新時(shí)間:2024年12月17日 09:30:24   作者:AKA__一只羊  
在 Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度,你可以根據(jù)容器的高度動(dòng)態(tài)設(shè)置表格的高度,下面通過示例代碼給大家展示,感興趣的朋友一起看看吧

在 Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度,你可以根據(jù)容器的高度動(dòng)態(tài)設(shè)置表格的高度。通常的做法是監(jiān)聽窗口大小的變化,并相應(yīng)地調(diào)整表格的高度。

以下是一個(gè)示例代碼,展示了如何實(shí)現(xiàn)這一功能:

1. 安裝 Element Plus(如果還沒有安裝):

npm install element-plus --save
# 或者
yarn add element-plus
   

2. 創(chuàng)建一個(gè) Vue 組件,并實(shí)現(xiàn) `el-table` 的自適應(yīng)高度:

<template>
  <div ref="tableContainer" class="table-container">
    <el-table
      :data="tableData"
      :height="tableHeight"
      style="width: 100%"
    >
      <el-table-column prop="date" label="日期" width="180"></el-table-column>
      <el-table-column prop="name" label="姓名" width="180"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>
<script>
import { ref, onMounted, onUnmounted } from 'vue';
import { ElTable, ElTableColumn } from 'element-plus';
export default {
  components: {
    ElTable,
    ElTableColumn,
  },
  setup() {
    const tableData = ref([
      { date: '2016-05-02', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' },
      { date: '2016-05-04', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1517 弄' },
      // 更多數(shù)據(jù)...
    ]);
    const tableContainer = ref(null);
    const tableHeight = ref(0);
    const updateTableHeight = () => {
      if (tableContainer.value) {
        // 計(jì)算表格的高度
        const containerRect = tableContainer.value.getBoundingClientRect();
        const containerHeight = containerRect.height;
        tableHeight.value = containerHeight - 20; // 減去一些邊距或標(biāo)題欄的高度
      }
    };
    // 監(jiān)聽窗口大小變化
    const handleResize = () => {
      updateTableHeight();
    };
    onMounted(() => {
      updateTableHeight(); // 初始化時(shí)計(jì)算一次高度
      window.addEventListener('resize', handleResize);
    });
    onUnmounted(() => {
      window.removeEventListener('resize', handleResize);
    });
    return {
      tableData,
      tableHeight,
      tableContainer,
    };
  },
};
</script>
<style scoped>
.table-container {
  height: 100vh; /* 你可以根據(jù)需要調(diào)整這個(gè)值 */
  overflow: auto;
}
</style>

解釋

  • <el-table>:Element Plus 提供的表格組件。
  • :height="tableHeight":綁定表格的高度,使其可以根據(jù) `tableHeight` 的值動(dòng)態(tài)變化。
  • tableContainer:引用了包含表格的容器,用于獲取其高度。
  • updateTableHeight:計(jì)算并更新表格的高度。
  • handleResize:處理窗口大小變化的函數(shù),調(diào)用 `updateTableHeight` 來更新表格高度。
  • onMounted:和 `onUnmounted`**:Vue 生命周期鉤子,分別在組件掛載和卸載時(shí)執(zhí)行相應(yīng)的操作。
  • window.addEventListener('resize', handleResize):添加窗口大小變化事件監(jiān)聽器。
  • window.removeEventListener('resize', handleResize):移除窗口大小變化事件監(jiān)聽器,避免內(nèi)存泄漏。

這樣,當(dāng)窗口大小發(fā)生變化時(shí),表格的高度會(huì)自動(dòng)調(diào)整以適應(yīng)新的窗口尺寸。你可以根據(jù)實(shí)際需求調(diào)整 `tableContainer` 的高度以及減去的邊距值。

到此這篇關(guān)于Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度的文章就介紹到這了,更多相關(guān)Vue 3 Element Plus el-table自適應(yīng)高度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

清原| 彭山县| 昌宁县| 徐闻县| 泾源县| 光山县| 巴中市| 张家川| 皮山县| 宣城市| 津市市| 武城县| 赣州市| 万安县| 莱州市| 广丰县| 阳谷县| 武乡县| 南川市| 金乡县| 驻马店市| 巢湖市| 盘山县| 易门县| 申扎县| 阳朔县| 闸北区| 尼木县| 涿鹿县| 正安县| 鄂托克旗| 宁远县| 紫云| 县级市| 夏河县| 治县。| 贺兰县| 霍城县| 绥滨县| 瑞昌市| 康乐县|