Ant Design Vue中 a-table 嵌套子表格

需求:在父表格中嵌套子表格,當點擊展開某一行時,有展開的關閉當前展開行。使用a-table中的expandedRowKeys 屬性和expand 方法。鏈接:Ant Design Vue

一、屬性說明:

? ?expandedRowKeys:這個主要是控制展開某行,它是一個數組形式,

? ?expand:這個可以接受兩個參數,一個是是否展開,另一個是當前行的數據Function(expanded, record)。

二、示例代碼:

   // 添加相應的屬性和方法,這邊自定義數據  我以官網為例  :expandedRowKeys="expandedRowKeys"   目的是使expandedRowKeys只有最新點開子表單的key<template><a-table :columns="columns" :data-source="data" :expandedRowKeys="expandedRowKeys" @expand="expand" class="components-table-demo-nested"><template #operation><a>Publish</a></template><template #expandedRowRender><a-table :columns="innerColumns" :data-source="innerData" :pagination="false"><template #status><span><a-badge status="success" />Finished</span></template><template #operation><span class="table-operation"><a>Pause</a><a>Stop</a><a-dropdown><template #overlay><a-menu><a-menu-item>Action 1</a-menu-item><a-menu-item>Action 2</a-menu-item></a-menu></template><a>More<down-outlined /></a></a-dropdown></span></template></a-table></template></a-table>
</template>
<script lang="ts">
import { DownOutlined } from '@ant-design/icons-vue';
import { defineComponent } from 'vue';const columns = [{ title: 'Name', dataIndex: 'name', key: 'name' },{ title: 'Platform', dataIndex: 'platform', key: 'platform' },{ title: 'Version', dataIndex: 'version', key: 'version' },{ title: 'Upgraded', dataIndex: 'upgradeNum', key: 'upgradeNum' },{ title: 'Creator', dataIndex: 'creator', key: 'creator' },{ title: 'Date', dataIndex: 'createdAt', key: 'createdAt' },{ title: 'Action', key: 'operation', slots: { customRender: 'operation' } },
];interface DataItem {key: number;name: string;platform: string;version: string;upgradeNum: number;creator: string;createdAt: string;
}const data: DataItem[] = [];
for (let i = 0; i < 3; ++i) {data.push({key: i,name: 'Screem',platform: 'iOS',version: '10.3.4.5654',upgradeNum: 500,creator: 'Jack',createdAt: '2014-12-24 23:12:00',});
}const innerColumns = [{ title: 'Date', dataIndex: 'date', key: 'date' },{ title: 'Name', dataIndex: 'name', key: 'name' },{ title: 'Status', key: 'state', slots: { customRender: 'status' } },{ title: 'Upgrade Status', dataIndex: 'upgradeNum', key: 'upgradeNum' },{title: 'Action',dataIndex: 'operation',key: 'operation',slots: { customRender: 'operation' },},
];interface innerDataItem {key: number;date: string;name: string;upgradeNum: string;
}const innerData: innerDataItem[] = [];
for (let i = 0; i < 3; ++i) {innerData.push({key: i,date: '2014-12-24 23:12:00',name: 'This is production name',upgradeNum: 'Upgraded: 56',});
}
const expandedRowKeys = ref([])
const expand = (expanded,record) => {expandedRowKeys.value = []// 只展開一行if (expanded) {//進這個判斷說明當前已經有展開的了//返回某個指定的字符串值在字符串中首次出現的位置,下標為0let index = expandedRowKeys.value.indexOf(record.id)if (index > -1) {//如果出現則截取這個id,1d到1相當于0,針對重復點擊一個expandedRowKeys.value.splice(index, 1)} else {//如果沒出現則截取所有id,添加點擊id,0到1,針對已經有一個展開,點另一個會進入判斷expandedRowKeys.value.splice(0, expandedRowKeys.value.length)expandedRowKeys.value.push(record.id)}} else {//數組長度小于0,說明都沒展開,第一次點擊,id添加到數組,數組有誰的id誰就展開expandedRowKeys.value.push(record.id)}}
export default defineComponent({components: {DownOutlined,},setup() {return {data,columns,innerColumns,innerData,expandedRowKeys,};},
});
</script>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15402.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

都2024年了!是誰還不會優化 Hive 的小文件啊!!!速看!

文章目錄 小文件產生的原因1.查詢建表或者插入2.裝載數據3.動態分區小文件影響解決方法針對已經存在的小文件進行優化1.小文件歸檔2.getmerge3.concatenate4.重寫針對寫入數據時的優化1.調參優化2.動態分區優化3.使用 Spark 算子控制小文件數量查看 HDFS 上的文件時,無意間點進…

【QT+VS】如何在現有VS項目中添加Qt界面?【全網最詳細】

0. 前置步驟 參考如下鏈接文章中的 前3個步驟(1:下載Qt;2:安裝Qt;3:安裝Qt插件),完成環境的配置和安裝。 深耕AI:如何聯合Qt,VS,C++,來開發一個電腦版軟件(簡單有趣,詳細) 本文的基礎項目鏈接為: c++工程+圖像分割預測+mmdet+實例分割+最新工程+簡潔易懂+新手…

搭建自己的視頻通話服務器Janus(WebRTC)

1. 安裝janus apt install janus 高版本的Ubuntu已經可以直接安裝了&#xff0c;不要編譯那么麻煩了 2. 安裝nginx janus 是后端&#xff0c;需要nginx或者其他等提供前端頁面的服務器&#xff0c;此外因為這里并沒有正式的證書&#xff0c;只能用自簽名的證書用于https。 …

Mac 更改登陸密碼,不是appleid 密碼

在Mac 上更改登錄密碼 在Mac 上&#xff0c;選取蘋果菜單 >“系統設置”&#xff0c;然后點按邊欄中的“用戶與群組” 。 … 點按右側用戶名旁邊的“簡介”按鈕 。 點按“更改”。 在“舊密碼”欄輸入你的當前密碼。 在“新密碼”欄中輸入新密碼&#xff0c;然后在“確認密碼…

「數據結構」隊列

目錄 隊列的基本概念 隊列的實現 頭文件queue.h 實現函數接口 1.初始化和銷毀 2.出隊列和入隊列 3.獲取隊頭元素和隊尾元素 4.隊列長度判空 后記 前言 歡迎大家來到小鷗的博客~ 個人主頁&#xff1a;海盜貓鷗 本篇專題&#xff1a;數據結構 多謝大家的支持啦&#xff…

Java入門基礎學習筆記36——面向對象基礎

面向對象編程快速入門&#xff1a; 計算機是用來處理數據的。 單個變量 數組變量 對象數據 Student類&#xff1a; package cn.ensource.object;public class Student {String name;double chinese_score;double math_score;public void printTotalScore() {System.out.pr…

【哈希】Leetcode 219. 存在重復元素 II【簡單】

存在重復元素 II 給你一個整數數組 nums 和一個整數 k &#xff0c;判斷數組中是否存在兩個 不同的索引 i 和 j &#xff0c;滿足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 示例 1&#xff1a; 輸…

偏微分方程算法之橢圓型雙調和方程問題

目錄 一、研究對象 二、問題解析 一、研究對象 針對雙調和方程的邊值問題:

達夢數據庫使用dmlcvt命令找回更改前的數據

在生產系統上不小心修改了表數據后最快的方法是用閃回查詢找回。但時間不能超過undo_retention&#xff08;默認90秒&#xff09;。其實最標準的處理方法是在其他機器上將數據庫恢復到修改前的時刻。但數據庫比較大時恢復時間較長。真實場景可能比較急。那么也可以分析歸檔日志…

數組序號Spinner

使用Spnner代替編輯框&#xff0c;只能選擇已有的&#xff0c;不會越界&#xff0c;大大簡化了代碼。 String[] SA new String[list.size()]; for (int i0; i<SA.length; i) {SA[i] String.valueOf(i); } ArrayAdapter<String> adapter1 new ArrayAdapter<>(…

[國產大模型簡單使用介紹] 開源與免費API

個人博客:Sekyoro的博客小屋 個人網站:Proanimer的個人網站 隨著大模型技術蓬勃發展和開源社區越來越活躍,國內的大模型也如雨后春筍一般.這時,一些就會問了,有了llama3,Mistral還有Gemma等等,國外大廠接連發力,一些開源社區也會有一些不錯的模型,國內怎么比?對一個人使用,oll…

下雨!大水蟻引發的水文!看比賽咯,曼聯VS曼城——早讀(逆天打工人爬取熱門微信文章解讀)

嘮嘮嗑 水一水 引言Python 代碼結尾 引言 今天星期六 大小周 一個等了很久的雙休 昨天晚上真的是嚇到我了 漫天的小飛蟲 我一開始還以為是一兩只 沒想到那些小飛蟲 從陽臺不斷飛進來 在山卡拉下面租房子 也是太恐怖了 來個特寫 他們也就一個晚上的時間 成蟲 天氣合適 長翅…

大語言模型發展歷史

大語言模型的發展歷史可以追溯到自然語言處理&#xff08;NLP&#xff09;和機器學習早期的探索&#xff0c;但真正快速發展起來是在深度學習技術興起之后。以下是大語言模型發展的一個簡要歷史概述&#xff1a; 早期階段&#xff08;20世紀50-90年代&#xff09;&#xff1a; …

網絡拓撲—DNS服務搭建

文章目錄 DNS服務搭建網絡拓撲配置網絡DNSPC 安裝DNS服務配置DNS服務創建正向查找區域創建反向查找區域創建子域名 PC機DNS域名解析 DNS服務搭建 網絡拓撲 為了節省我的U盤空間&#xff0c;沒有用路由器&#xff0c;所以搭建的環境只要在同網段即可。 //交換機不用考慮 DNS&a…

MiniCPM-Llama3-V-2_5-int4

MiniCPM-Llama3-V-2_5-int4大模型部署使用環境&#xff1a; python3.8cuda11.8其它要求&#xff0c;按照安裝文檔要求下載即可 我是在算力平臺用4090跑的&#xff0c; GPU 顯存&#xff08;8GB&#xff09;可以部署推理 int4 量化版本&#xff0c;如果推理非量化版本需要更高顯…

云部署最簡單python web

最近在玩云主機&#xff0c;考慮將簡單的web應用裝上去&#xff0c;通過廣域網訪問一下&#xff0c;代碼很簡單&#xff0c;所以新手幾乎不會碰到什么問題。 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, World!app.route(/gree…

2024洗地機哪個牌子好?洗地機十大品牌

洗地機在不同家庭環境中都能發揮其獨特的優勢&#xff0c;無論是大面積的地板還是狹小的角落&#xff0c;都能輕松應對。 對于有孩子或寵物的家庭&#xff0c;地面上經常會有各種雜物和污漬&#xff0c;洗地機強大的吸力和深度清潔功能&#xff0c;可以迅速清理掉這些臟東西&a…

數理邏輯:1、預備知識

17.1 命題和聯結詞 ? 命題&#xff1a;可以判定真假的陳述句。&#xff08;則悖論&#xff0c;祈使句&#xff0c;疑問句都不是命題&#xff09; ? 原子命題&#xff1a;不能被分割為更小的命題的命題 例如&#xff1a; 2既是素數又是偶數 可以由$p: 2 是素數&#xff0c;…

DNS的服務與部署(2)

1、dns的安裝及開啟 dnf install bind.x86_64 -y #安裝 #Berkeley Internet Name Domain (BIND) systemctl enable --now named #啟用dns服務&#xff0c;服務名稱叫named firewall-cmd --permanent --add-servicedns #火墻設置 firewall-cmd --reload …

基于SSH的母嬰用品銷售管理系統帶萬字文檔

文章目錄 母嬰商城系統一、項目演示二、項目介紹三、系統部分功能截圖四、萬字論文參考五、部分代碼展示六、底部獲取項目源碼和萬字論文參考&#xff08;9.9&#xffe5;帶走&#xff09; 母嬰商城系統 一、項目演示 母嬰商城系統 二、項目介紹 基于SSH的母嬰商城系統 系統…