亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)文章

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

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

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

    在Vue.js中使用TypeScript的方法

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

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

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

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

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

    手寫實(shí)現(xiàn)Vue計(jì)算屬性

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

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

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

    Vue3為什么這么快

    這篇文章主要介紹了Vue3為什么這么快,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • vue3使用defineModel實(shí)現(xiàn)父子組件雙向綁定

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

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

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

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

最新評(píng)論