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

vxe-grid與vxe-table實現(xiàn)表格尾部合并方式

 更新時間:2026年02月09日 10:30:10   作者:pity_fan  
本文介紹了如何在Vue項目中使用vxe-table和vxe-grid組件實現(xiàn)表格尾部的動態(tài)合并功能,包括如何配置和使用`mergeFooterItems`屬性來定義底部單元格合并規(guī)則,并提供了示例代碼,同時,對比了兩種組件在尾部合并配置方面的差異,總結(jié)了各自的優(yōu)勢和適用場景

在日常開發(fā)中,我們經(jīng)常需要對表格的尾部進行個性化處理,例如對總計進行計算顯示在表尾中等合并某些單元格以突出關(guān)鍵信息。

本文將以 vxe-table 和 vxe-grid 組件為例,詳細介紹如何在 Vue 項目中實現(xiàn)表格尾部的動態(tài)合并功能。

使用 vxe-grid 實現(xiàn)尾部合并

核心配置項

  • border:控制表格邊框顯示
  • height:設(shè)置表格高度
  • columns:配置列定義
  • data:綁定表格主體數(shù)據(jù)
  • showFooter:控制底部行(footer)顯示
  • footerData:綁定表格尾部數(shù)據(jù)
  • mergeFooterItems:定義底部單元格合并規(guī)則

代碼示例

<template>
  <vxe-grid
    border 
    :columns="columns"     
    :data="tableData"        
    show-footer       
    :footer-data="footerData" 
    :merge-footer-items="mergeFooterItems" 
  />
</template>

<script setup>
import { ref } from 'vue'

/**
 * 定義尾部單元格合并規(guī)則
 * 格式:{ row, col, rowspan, colspan }
 * - row: 尾部行索引(從 0 開始)
 * - col: 尾部列索引(從 0 開始)
 * - rowspan: 縱向合并的單元格數(shù)量
 * - colspan: 橫向合并的單元格數(shù)量
 */
const mergeFooterItems = ref([
  { row: 0, col: 0, rowspan: 1, colspan: 2 } // 合并第1行的前兩列
])

/**
 * 定義表格尾部數(shù)據(jù)
 * 每一項對應(yīng)尾部的一行數(shù)據(jù)
 * 字段需與 columns 中定義的 field 保持一致
 */
const footerData = ref([
  { name: '總計', amount: '—', count: '100' } // 尾部顯示“總計”信息
])


const columns = ref([
  //footerAlign: "right"---表格顯示位置
  { field: 'name', title: '名稱' ,footerAlign: "right"},
  { field: 'amount', title: '金額' },
  { field: 'count', title: '數(shù)量' }  
])


const tableData = ref([
  { name: '商品A', amount: 100, count: 50 }, 
  { name: '商品B', amount: 200, count: 30 } 
])
</script>

動態(tài)切換合并方式

// 初始合并配置(合并前兩列)
gridOptions.mergeFooterItems = [
  { row: 0, col: 0, rowspan: 1, colspan: 2 }
]

// 切換為合并后兩列
function changeMerge() {
  gridOptions.mergeFooterItems = [
    { row: 0, col: 1, rowspan: 1, colspan: 2 }
  ]
}
 
  • 必須設(shè)置 showFooter: true 顯示表尾
  • 需通過 footerData 提供尾部數(shù)據(jù)
  • 修改 mergeFooterItems 后會自動觸發(fā)表格重繪

 重點:footerAlign: "right"---表格顯示位置

官方文檔:Vxe Table v4 https://vxetable.cn/v4/#/component/grid/merge/footer

使用 vxe-table 實現(xiàn)尾部合并

核心配置差異

  • 需手動通過 <vxe-column> 渲染列
  • 合并配置通過 :merge-footer-items 屬性傳遞

代碼示例

<template>
  <vxe-table
    border
    show-footer
    :data="tableData"
    :footer-data="footerData"
    :merge-footer-items="mergeFooterItems"
  >
    <vxe-column field="name" title="名稱" />
    <vxe-column field="amount" title="金額" />
    <vxe-column field="count" title="數(shù)量" />
  </vxe-table>
</template>

<script setup>
import { ref } from 'vue'

const mergeFooterItems = ref([
  { row: 0, col: 0, rowspan: 1, colspan: 2 }
])

//顯示在那個列就寫對應(yīng)列的field---name顯示在名稱列
const footerData = ref([
  { name: '總計', amount: '—', count: '100' }
])

const tableData = ref([
  { name: '商品A', amount: 100, count: 50 },
  { name: '商品B', amount: 200, count: 30 }
])
</script>

動態(tài)切換合并方式

const setMergeMode = (mode) => {
  mergeFooterItems.value = mode === 1 
    ? [{ row: 0, col: 0, colspan: 2 }] 
    : [{ row: 0, col: 1, colspan: 2 }]
}

關(guān)鍵點

  • 需要同時設(shè)置 show-footer 屬性
  • 合并規(guī)則變更時會自動響應(yīng)更新
  • 支持多行尾部數(shù)據(jù)的復雜合并

官方文檔:Vxe Table v4 https://vxetable.cn/v4/#/component/table/merge/footer

兩種方式對比總結(jié)

特性vxe-gridvxe-table
配置方式集中式配置對象分散式屬性綁定
適合場景復雜表格場景簡單表格或需要更高自由度時
動態(tài)更新修改配置對象的屬性直接更新響應(yīng)式數(shù)據(jù)
代碼量相對較少相對較多

1. 動態(tài)列定義

  • 通過 columns 數(shù)組動態(tài)定義列結(jié)構(gòu)
  • 支持靈活調(diào)整列配置(字段名、標題、寬度等)

2. 尾部合并配置

  • 通過 mergeFooterItems 數(shù)組控制合并規(guī)則

關(guān)鍵參數(shù):

  • row:起始行索引
  • col:起始列索引
  • rowspan:縱向合并行數(shù)
  • colspan:橫向合并列數(shù)

3. 數(shù)據(jù)綁定

  • footerData 綁定底部顯示數(shù)據(jù)
  • 數(shù)據(jù)結(jié)構(gòu)需與列定義的 field 對應(yīng)

4. 動態(tài)更新機制

  • 使用響應(yīng)式變量(ref/reactive)
  • 修改配置自動觸發(fā)界面更新

關(guān)鍵注意事項

  • 合并范圍不能超出表格實際列數(shù)
  • 合并后單元格內(nèi)容取自第一個指定單元格的值
  • 需配合 footerData 使用才能顯示尾部內(nèi)容
  • 多行尾部合并需確保規(guī)則不沖突
  • 動態(tài)列場景需同步更新列索引

性能優(yōu)化建議

  • 大數(shù)據(jù)量時避免頻繁更新合并規(guī)則
  • 固定列寬提升渲染性能
  • 復雜合并預(yù)先計算規(guī)則對象

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

临泽县| 环江| 福泉市| 墨江| 阳谷县| 西吉县| 江永县| 瑞安市| 镇坪县| 平山县| 鲜城| 泸州市| 长泰县| 洛宁县| 清徐县| 武山县| 峨山| 富平县| 张掖市| 双峰县| 上犹县| 吴旗县| 福海县| 张家港市| 石门县| 娱乐| 邵武市| 颍上县| 高青县| 泸水县| 焦作市| 黑龙江省| 滨海县| 营口市| 三台县| 聂拉木县| 盈江县| 汕尾市| 静宁县| 封丘县| 水城县|