解決iview table組件里的 固定列 表格不自適應的問題
當在使用iview Table組件里固定列功能時
出現(xiàn)表格不自適應寬度問題 具體如下
解決這個bug 很簡單 把組件里的 width 改為 minWidth 即可
columns: [ { title: '賬戶名', key: 'accountName', fixed: 'left', minWidth: 150 }, { title: '訂閱名稱', key: 'subscriptionName', minWidth:140 }, { title: '訂閱ID', key: 'subscriptionId', minWidth:200 }, { title: '資源組', key: 'resourceGroup', minWidth:140 }, { title: '實例名稱', key: 'instanceName', minWidth:140 }, { title: '實例類型', key: 'instanceType', minWidth:140 }, { title: 'CPU', key: 'cpu', minWidth:140 }, { title: '內存(GB)', key: 'ram', minWidth:140 }, { title: '磁盤容量(GB)', key: 'storage', minWidth:140 }, { title: '操作系統(tǒng)', key: 'os', minWidth:140 }, { title: '實例狀態(tài)', key: 'stateName', minWidth:140 }, { title: '項目', key: 'project', minWidth:140 }, { title: '擁有者', key: 'owner', minWidth:140 }, { title: '公有IP', key: 'publicIp', minWidth:140 }, { title: '私有IP', key: 'privateIp', minWidth:140 }, { title: '虛擬網(wǎng)絡/子網(wǎng)', key: 'virtualNetworkSubnet', minWidth:140 }, { title: '網(wǎng)絡安全組', key: 'securityGroup', minWidth: 120 } ]
望大家少走彎路~
補充知識:iView中table表格組件使用中的一些問題解決方法
最近在做圖層屬性信息展示功能時,需要用到表格來展示請求到的屬性信息,項目UI時iview,所以我就從iview中拿到表格組件來用。https://iviewui.com/components/table
最終成品是這樣一個組件。
iview的組件功能還是很強,但是用起來也相當麻煩,在這個表格設計過程中我遇到了兩個難點;
一、怎么拆分以及合并部分單元格;
二、怎么調整某一個單元格的設計寬度;
首先第一個問題,
viewUI里面提供了屬性 span-method 可以指定合并行或列的算法。
該方法參數(shù)為 4 個對象:
row: 當前行
column: 當前列
rowIndex: 當前行索引
columnIndex: 當前列索引
該函數(shù)可以返回一個包含兩個元素的數(shù)組,第一個元素代表 rowspan,第二個元素代表 colspan。 也可以返回一個鍵名為 rowspan 和 colspan 的對象。
由于只有合并沒有拆分,所以我就在原來列數(shù)基礎上多增加幾列滿足拆分需求,行列數(shù)據(jù)在data中聲明。
columns1: [ { title: 'Name', key: 'name', width: 100 }, { title: 'Value', key: 'value', width: 88 }, { title: 'Other1', key: 'other1' }, { title: 'Other2', key:'other2', resiable: true, width: 88 }, { title: 'Other3', key:'other3' } ], attribute: [ { name: '圖層名稱', value: 18 }, { name: '基礎地址', value: 25 }, { name: '圖層范圍', value: 'minX:', other1: '', other2:'minY:', other3: '', cellClassName: { value: 'cellwidth', other2: 'cellwidth' } }, { name: 'maxX:', value: '', other1: 'maxY:', other2: '', cellClassName: { name: 'cellwidth', other1: 'cellwidth' } }, { name: '字段', value: 26 }, { name: '空間參考', value: 11 }, { name: '要素數(shù)量', value: 78 } ]
接下來就是寫函數(shù)來合并單元格了,api里面給是示范代碼,看起來不太好懂,但是總結起來就是if 是用來記錄開始操作的單元格序號,而不是進行判斷,通過if嵌套來實現(xiàn)在指定行列進行合并。
到這一步基本上就把大致表格做好了。
接下來第二個問題
我需要把字段比較短的單元格寬度變窄,在API中也有這些為行列以及單元格設置樣式的擴展屬性
行:通過屬性 row-class-name 可以給某一行指定一個樣式名稱。
列:通過給列 columns 設置字段 className 可以給某一列指定一個樣式。
單元格:通過給數(shù)據(jù) data 設置字段 cellClassName 可以給任意一個單元格指定樣式。
但是我在項目中寫的時候發(fā)現(xiàn)它所能改的樣式只有背景顏色,字體顏色等不影響盒子狀態(tài)的屬性,例如width這樣的屬性即便寫上也是無效的。在調試了許久還是一無所獲之后,我想用js來寫一個改變寬度的函數(shù),于是在API里發(fā)現(xiàn)了
由于我把表頭隱藏掉了,于是使用時我發(fā)現(xiàn)可以直接來設置單元格寬度,這樣問題就解決了。
總結一下:官方組件庫中提供的API能解決我們的大部分問題,所以在遇到問題時候多看官網(wǎng),看看能不能從不同角度去解決。
以上這篇解決iview table組件里的 固定列 表格不自適應的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
改變vue請求過來的數(shù)據(jù)中的某一項值的方法(詳解)
下面小編就為大家分享一篇改變vue請求過來的數(shù)據(jù)中的某一項值的方法(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03對vue v-if v-else-if v-else 的簡單使用詳解
今天小編就為大家分享一篇對vue v-if v-else-if v-else 的簡單使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue3中利用Export2Excel將數(shù)據(jù)導出為excel表格
這篇文章主要給大家介紹了關于vue3中利用Export2Excel將數(shù)據(jù)導出為excel表格的相關資料,最近項目需要前端來導出Excel操作,所以給大家總結下,需要的朋友可以參考下2023-09-09在vue中實現(xiàn)清除echarts上次保留的數(shù)據(jù)(親測有效)
這篇文章主要介紹了在vue中實現(xiàn)清除echarts上次保留的數(shù)據(jù)(親測有效),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09