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

Vue 3 中使用 Element Plus 的 `el-table` 組件實現自適應高度

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

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

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

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

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

2. 創(chuàng)建一個 Vue 組件,并實現 `el-table` 的自適應高度:

<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 弄' },
      // 更多數據...
    ]);
    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; /* 你可以根據需要調整這個值 */
  overflow: auto;
}
</style>

解釋

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

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

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

相關文章

  • vue雙花括號的使用方法 附練習題

    vue雙花括號的使用方法 附練習題

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

    在Vue.js中使用TypeScript的方法

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

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

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

    Vue學習-VueRouter路由基礎

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

    手寫實現Vue計算屬性

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

    Vue3使用Element?Plus實現列表界面的方法步驟

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

    Vue3為什么這么快

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

    vue中使用file-saver導出文件的全過程記錄

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

    vue3使用defineModel實現父子組件雙向綁定

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

    深入理解Vue3組合式API的實現

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

最新評論