Vue3自定義文件列表頁面(含上傳、搜索、復制鏈接)

文章目錄

  • 一、代碼展示
  • 二、代碼解讀
  • 三、結果展示

一、代碼展示

<template><div class="container"><h1>文件列表</h1><div class="header-actions"><a-input  placeholder="輸入關鍵詞搜索"  v-model:value="search" style="width: 200px;" /><a-button type="primary"  @click="fetchResource">搜索</a-button><a-button type="primary" @click="showUploadModal">上傳文件</a-button></div><div class="table-container" ><a-table :columns="columns" :dataSource="dataSource" :pagination="pagination" :current="pagination.current" :pageSize="pagination.pageSize" @change="handleTableChange"><template #bodyCell="{ column, record }"><template v-if="column.key === 'operation'"><a @click="copyLink(record.fileLink)">復制鏈接</a></template></template></a-table></div><a-modal v-model:visible="uploadModalVisible" title="上傳文件" @ok="handleUpload" @cancel="closeUploadModal"><a-form :form="uploadForm" layout="vertical"><a-form-item label="文件名" required><a-input v-model:value="uploadForm.title" /></a-form-item><a-form-item label="文件鏈接" required><a-input v-model:value="uploadForm.source" /></a-form-item><a-form-item label="文件類型(阿里、百度等)" required><a-input v-model:value="uploadForm.type" /></a-form-item><a-form-item label="備注" ><a-input v-model:value="uploadForm.remark" /></a-form-item></a-form></a-modal></div>
</template><script setup></script><style scoped >.table-container {min-height: 80vh;}
.container {
margin-bottom: 20px;margin-top: 80px;background-color: #fff;padding: 20px;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}h1 {margin-bottom: 10px;
}.header-actions {display: flex;gap: 10px;margin-bottom: 20px;
}a-input {width: 200px;
}.table-container {margin-top: 20px;
}</style>

二、代碼解讀

<template> 部分是Vue文件的模板部分,用于定義頁面的結構和布局。在這段代碼中,<template> 主要包括了頁面的 HTML 結構和 Ant Design Vue 組件的使用。下面是對 <template> 部分的詳細解釋:

  1. <div class="container">: 整個頁面的容器,用于包裹所有內容,設置了一些樣式,如邊框圓角和陰影,使頁面看起來更加美觀。

  2. <h1>: 頁面標題,顯示"文件列表",用于標識頁面的主題。

  3. <div class="header-actions">: 頭部操作區域,包括搜索框、搜索按鈕和上傳文件按鈕。這里使用了 Ant Design Vue 的樣式和組件。

    • <a-input>: Ant Design Vue 中的輸入框組件,用于輸入搜索關鍵詞。通過 v-model:value="search" 進行雙向綁定,將輸入框的值與 search 變量關聯。

    • <a-button>: Ant Design Vue 中的按鈕組件,包括搜索和上傳文件兩個按鈕。使用 @click 監聽按鈕點擊事件,分別調用 fetchResourceshowUploadModal 方法。

  4. <a-table>: Ant Design Vue 中的表格組件,用于展示文件列表。通過 :columns:dataSource:pagination 等屬性將數據和配置傳遞給表格組件。

    • :columns="columns": 指定表格的列配置,定義了文件名、來源、類型、上傳者、上傳時間等列。

    • :dataSource="dataSource": 表格的數據源,使用了 Vue 的響應式引用 dataSource

    • :pagination="pagination": 表格分頁的配置,包括是否顯示大小調整器、是否顯示快速跳轉、每頁顯示數量等。

    • @change="handleTableChange": 監聽表格分頁、排序、篩選等變化,觸發 handleTableChange 方法進行處理。

    • <template #bodyCell="{ column, record }">: 自定義表格單元格內容,在操作列顯示"復制鏈接"的鏈接,通過調用 copyLink 方法實現。

  5. <a-modal>: 彈出的上傳文件的模態框,包含文件名、文件鏈接、文件類型等輸入框。通過 v-model:visible 控制模態框的顯示和隱藏,使用 @ok@cancel 監聽確定和取消按鈕的點擊事件,分別調用 handleUploadcloseUploadModal 方法。

    • <a-form>: Ant Design Vue 中的表單組件,包含文件名、文件鏈接、文件類型、備注等表單項。

      • <a-form-item>: 表單項,包括文件名、文件鏈接、文件類型和備注,其中文件名、文件鏈接和文件類型為必填項。

      • <a-input>: 輸入框組件,用于輸入文件名、文件鏈接、文件類型和備注,通過 v-model:value 進行雙向綁定。

總體而言,<template> 部分定義了頁面的結構,包括標題、搜索框、按鈕、文件列表和上傳文件模態框等組件,同時使用了 Ant Design Vue 提供的組件來實現樣式和交互效果。

三、結果展示

在這里插入圖片描述

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

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

相關文章

字符串函數strchr()詳解

一、strchr()函數的作用 字符串函數 strchr() 是 C 語言的一個標準庫函數&#xff0c;它的作用是在一個字符串中查找給定字符的第一個匹配之處&#xff0c;并返回指向該字符的指針。如果沒有找到該字符&#xff0c;則返回 NULL。1 二、strchr()函數的原型和參數 strchr()函數…

【筆記】:更方便的將一個List中的數據傳入另一個List中,避免多重循環

這里是 simpleInfoList 集合&#xff0c;記為集合A&#xff08;傳值對象&#xff09; List<CourseSimpleInfoDTO> simpleInfoList courseClient.getSimpleInfoList(courseIds);if(simpleInfoListnull){throw new BizIllegalException("當前課程不存在!");}這…

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals 一、對象創建1.1 對象創建內部機制Object creation internals 二、屬性填充Property population2.1 屬性填充內部機制Property population internals 三、一般建議3.1 覆蓋屬性 四、Kotlin支持4.1 K…

libigl 網格中點細分(網格上采樣)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 在網格細分中,我們可以將每個三角形分成若干個更小的三角形。其中最簡單的情況就是通過計算每個三角形每條邊的中點,這樣就可以將三角形分成四個更小的三角形。不過該方法并不會使得網格的表面和面積發生變化,而…

Python:練習:編寫一個程序,寫入一個美金數量,然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款

案例&#xff1a; python編寫一個程序&#xff0c;寫入一個美金數量&#xff0c;然后顯示出如何用最少的20美元、10美元、5美元和1美元來付款&#xff1a; Enter a dollar amout:93 $20 bills: 4 $10 bills: 1 $5 bills:0 $1 bills:3 思考&#xff1a; 寫入一個美金數量&…

數據分析Pandas專欄---第十一章<Pandas數據聚合與分組(1)>

前言: 數據聚合和分組操作是數據處理過程中不可或缺的一部分。它們允許我們根據特定的條件對數據進行分組&#xff0c;并對每個組進行聚合計算。這對于統計分析、匯總數據以及生成報告和可視化非常有用。無論是市場營銷數據分析、銷售業績評估還是金融數據建模&#xff0c;數據…

【數據分享】2000~2023年MOD15A2H 061 葉面積指數LAI數據集

各位同學們好&#xff0c;今天和大伙兒交流的是2000~2013年MOD15A2H 061 LAI數據集。如果大家有下載處理數據等方面的問題&#xff0c;您可以私信或評論。 Myneni, R., Y. Knyazikhin, T. Park. MODIS/Terra Leaf Area Index/FPAR 8-Day L4 Global 500m SIN Grid V061. 2021, d…

在原有項目進行業務邏輯開發:同一用戶短時間不得提交多次申請,以及更新主表時數據刷新掉了角色權限以及密碼重置的問題,詳細思路及代碼

開發背景&#xff1a; 用戶提交表單后&#xff0c;插入到對應數據庫表的字段中去&#xff0c;因需要保存是哪一個用戶提交的&#xff0c;所以需要拿到主表的user_id&#xff0c;更新功能為記錄提交時間&#xff0c;短時間不得再次提交 在對一個已有角色權限分配&#xff0c;登錄…

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用

【Spring連載】使用Spring Data訪問 MongoDB----對象映射之對象引用 一、使用DBRefs 一、使用DBRefs

layui中,父頁面與子頁面,函數方法的相互調用、傳參

<%--父頁面--%> <script type"text/javascript">var KaoHaoType 0; // 考號類型 自定義參數1// 選取考號類型function SelectKaoHaoType(callBack) {KaoHaoType 0; // 默認選擇填涂考號layer.open({type: 2, title: 請選擇 考號區類型, ar…

職場中被小人欺負了,應該一笑了之嗎?還是怎么辦?

在職場中遇到不公正的待遇或被欺負&#xff0c;確實是一個讓人困擾的問題。處理這類問題&#xff0c;首先要保持冷靜和理性&#xff0c;避免情緒化的反應&#xff0c;這樣有助于找到最合適的解決方案。以下是一些建議&#xff0c;您可以根據具體情況考慮&#xff1a; 1. **保持…

如何使用 Socket.IO、Angular 和 Node.js 創建實時應用程序

介紹 WebSocket 是一種允許服務器和客戶端之間進行全雙工通信的互聯網協議。該協議超越了典型的 HTTP 請求和響應范式。通過 WebSocket&#xff0c;服務器可以向客戶端發送數據&#xff0c;而無需客戶端發起請求&#xff0c;因此可以實現一些非常有趣的應用程序。 在本教程中…

網絡編程作業day2

1.將TPC和UDP通信模型各敲兩遍 &#xff08;1&#xff09;TPC通信模型&#xff1a; 服務器代碼&#xff1a; #include <myhead.h> #define SERVER_IP "192.168.125.136" #define SERVER_PORT 1314 int main(int argc, const char *argv[]) {//1、創建用于監…

CLion 2023:專注于C和C++編程的智能IDE mac/win版

JetBrains CLion 2023是一款專為C和C開發者設計的集成開發環境&#xff08;IDE&#xff09;&#xff0c;它集成了許多先進的功能&#xff0c;旨在提高開發效率和生產力。 CLion 2023軟件獲取 CLion 2023的智能代碼編輯器提供了豐富的代碼補全和提示功能&#xff0c;使您能夠更…

統計業務流量的毫秒級峰值 - 華為機試真題題解

考試平臺&#xff1a; 時習知 分值&#xff1a; 200分&#xff08;第二題&#xff09; 考試時間&#xff1a; 兩小時&#xff08;共3題&#xff09; 題目描述 業務模塊往外發送報文時&#xff0c;有時會出現網卡隊列滿而丟包問題&#xff0c;但從常規的秒級流量統計結果看&…

Mybatis-Plus介紹

目錄 一、Mybatis-Plus簡介 1.1、介紹 1.2、特性 1.3、架構 1.4、Mybatis-Plus與Mybatis的區別 二、快速入門 2.1、首先創建數據庫mybatis-plus 2.2、創建user表 2.3、插入數據 2.4、創建Spring-Boot項目 2.5、添加依賴 2.6、連接數據庫 一、Mybatis-Plus簡介 1.1、…

代碼隨想錄第46天|139.單詞拆分 多重背包理論基礎 背包總結

文章目錄 單詞拆分思路&#xff1a;代碼 多重背包≈0-1背包題目代碼 背包總結 單詞拆分 3 思路&#xff1a; 代碼 class Solution {public boolean wordBreak(String s, List<String> wordDict) {HashSet<String> set new HashSet<>(wordDict);boolean[]…

15個非常實用的JavaScript技巧,提高你的開發效率

本文我們將探討15個實用的JavaScript技巧&#xff0c;希望它們可以幫你提高開發效率&#xff0c;有用的話點贊收藏~。 1. 反轉字符串 你有時候可能需要將字符串顛倒過來。在JavaScript中&#xff0c;有一個巧妙的一行代碼可以實現這個目標&#xff1a; const reversedString…

sheng的學習筆記-卷積神經網絡經典架構-LeNet-5、AlexNet、VGGNet-16

目錄&#xff1a;目錄 看本文章之前&#xff0c;需要學習卷積神經網絡基礎&#xff0c;可參考 sheng的學習筆記-卷積神經網絡-CSDN博客 目錄 LeNet-5 架構圖 層級解析 1、輸入層&#xff08;Input layer&#xff09; 2、卷積層C1&#xff08;Convolutional layer C1&…

Dockerfile(5) - CMD 指令詳解

CMD 指定容器默認執行的命令 # exec 形式&#xff0c;推薦 CMD ["executable","param1","param2"] CMD ["可執行命令", "參數1", "參數2"...]# 作為ENTRYPOINT的默認參數 CMD ["param1","param…