能夠根據數據動態生成可合併行列的表格。vue
options: { cols: 6, // 要生成的表格列數 rows: 7, // 要生成的表格行數 這個表是 7 * 6 data: [ // 表格數據,生成表格後將數據按順序一一填充到表格 { content: '測試1', id: 10, a: 100, b: 100 }, // content 字段爲表格的內容 // 須要合併的數據須要填入一個 merge 對象 // row col 爲起始行列,rowspan 和 colspan 爲合併的行數,值默認爲 1,爲 1 時能夠不填 { content: '測試2', merge: { row: 3, col: 0, rowspan: 3 } }, { content: '測試3' }, ], },
組件可監聽 click
事件,回調函數事件參數格式:git
// 當前點擊的數據 行數據 行索引 列索引,返回的行數據 行索引 列索引均以合併後的表格爲準 handleClick(data, rowData, row, col) { console.log(data) console.log(rowData) console.log(row) console.log(col) },
假設你建立了一個 4*4
的表格,以下圖所示。github
如今每一行你都合併了 3 列,這時表格會發生崩潰現象。npm
這是表格自身的問題,和組件無關。要解決此問題,只需再加一行沒有合併的表格便可。app
npm i vue-mergeable-table
import VueMergeableTable from 'vue-mergeable-table' Vue.use(VueMergeableTable)
<template> <div id="app"> <VueMergeableTable :options="options" @click="handleClick" /> // 或者 <vue-mergeable-table :options="options"/> </div> </template>
使用的是dist目錄中的 vue-mergeable-table.js
函數
<div id="app"> <vue-mergeable-table :options="options" @click="handleClick"></vue-mergeable-table> </div>