欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

2. 創(chuàng)建一個 Vue 組件,并實現(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) {
        // 計算表格的高度
        const containerRect = tableContainer.value.getBoundingClientRect();
        const containerHeight = containerRect.height;
        tableHeight.value = containerHeight - 20; // 減去一些邊距或標題欄的高度
      }
    };
    // 監(jiān)聽窗口大小變化
    const handleResize = () => {
      updateTableHeight();
    };
    onMounted(() => {
      updateTableHeight(); // 初始化時計算一次高度
      window.addEventListener('resize', handleResize);
    });
    onUnmounted(() => {
      window.removeEventListener('resize', handleResize);
    });
    return {
      tableData,
      tableHeight,
      tableContainer,
    };
  },
};
</script>
<style scoped>
.table-container {
  height: 100vh; /* 你可以根據(jù)需要調(diào)整這個值 */
  overflow: auto;
}
</style>

解釋

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

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

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

相關(guān)文章

  • vue雙花括號的使用方法 附練習(xí)題

    vue雙花括號的使用方法 附練習(xí)題

    這篇文章主要為大家詳細介紹了vue雙花括號的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 在Vue.js中使用TypeScript的方法

    在Vue.js中使用TypeScript的方法

    這篇文章主要介紹了在Vue.js中使用TypeScript的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 詳解如何制作并發(fā)布一個vue的組件的npm包

    詳解如何制作并發(fā)布一個vue的組件的npm包

    這篇文章主要介紹了詳解如何制作并發(fā)布一個vue的組件的npm包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue學(xué)習(xí)-VueRouter路由基礎(chǔ)

    Vue學(xué)習(xí)-VueRouter路由基礎(chǔ)

    這篇文章主要介紹了Vue學(xué)習(xí)-VueRouter路由基礎(chǔ),路由本質(zhì)上就是超鏈接,xiamian?文章圍繞VueRouter路由的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2021-12-12
  • 手寫實現(xiàn)Vue計算屬性

    手寫實現(xiàn)Vue計算屬性

    這篇文章主要介紹了手寫實現(xiàn)Vue計算屬性,本文從一個簡單的計算屬性例子開始,一步步實現(xiàn)了計算屬性。并且針對這個例子,詳細分析了頁面渲染時的整個代碼執(zhí)行邏輯,需要的小伙伴可以參考一下
    2022-08-08
  • Vue3使用Element?Plus實現(xiàn)列表界面的方法步驟

    Vue3使用Element?Plus實現(xiàn)列表界面的方法步驟

    寫后臺管理的時候會有很多列表以及相應(yīng)的條件查詢,下面這篇文章主要給大家介紹了關(guān)于Vue3使用Element?Plus實現(xiàn)列表界面的方法步驟,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Vue3為什么這么快

    Vue3為什么這么快

    這篇文章主要介紹了Vue3為什么這么快,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • vue中使用file-saver導(dǎo)出文件的全過程記錄

    vue中使用file-saver導(dǎo)出文件的全過程記錄

    這篇文章主要給大家介紹了關(guān)于vue中使用file-saver導(dǎo)出文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • vue3使用defineModel實現(xiàn)父子組件雙向綁定

    vue3使用defineModel實現(xiàn)父子組件雙向綁定

    這篇文章主要個給大家介紹了在vue3中使用defineModel進行父子組件中的雙向綁定,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • 深入理解Vue3組合式API的實現(xiàn)

    深入理解Vue3組合式API的實現(xiàn)

    組合式API為Vue3帶來了更好的邏輯組織和復(fù)用性,支持TypeScript,提供靈活的響應(yīng)式系統(tǒng),它允許開發(fā)者將相關(guān)邏輯組合在一起,通過composable函數(shù)實現(xiàn)邏輯復(fù)用,擺脫了mixin的缺點,同時,組合式API與TypeScript的集成更緊密,能夠提供更準確的類型推斷
    2024-10-10

最新評論