技術紀錄:解決 Ant Design Vue 表格寬度問題
響應式表格寬度調整
今天遇到一個前端專案的挑戰,主要是 Ant Design Vue 表格在視窗大小改變時,寬度無法自動調整。這個問題讓表格在視窗縮小後依然保持變寬後的寬度,影響了頁面的布局和使用體驗。
問題描述
專案中有一個表格需要隨著視窗大小變化自動調整寬度。但我發現當視窗從窄變寬後,表格寬度會跟著變寬;當視窗再從寬縮小時,表格寬度卻不會跟著縮小,導致頁面布局不協調。
解決方案
經過一番嘗試,找到了一個簡單有效的解法:把表格容器的寬度設成百分比。
<div style="width: 100%; overflow-x: auto;">
<a-table
size="small"
:dataSource="dataSource"
:pagination="false"
row-key="id"
:scroll="{ x: 'max-content', y: 400 }"
class="custom-table"
>
<a-table-column title="ID" dataIndex="id" key="id" />
<a-table-column title="Name" dataIndex="name" key="name" />
<a-table-column title="Age" dataIndex="age" key="age" />
</a-table>
</div>
把表格外層容器設成 width: 100%,並加上 overflow-x: auto,確保表格內容超出容器寬度時可以橫向滾動。這樣即使視窗縮小,表格寬度也能自動調整,保持響應式布局。