elememt-plus的表格的增刪改查#Vue3無需json數據,無需后端接口

elememt-plus的表格的增刪改查#Vue3無需json數據,無需后端接口

實現效果:
在這里插入圖片描述

<template><!-- 演示地址 --><div class="dem-add"><!-- Search start --><div class="dem-title"><p>演示地址</p><el-inputclass="query-input"v-model="tableForm.name"placeholder="請輸入姓名搜索"@keyup.enter="handleQueryName"><template #prefix><el-icon class="el-input__icon"><search /></el-icon></template></el-input><el-button type="primary" :icon="Plus" @click="handleAdd" circle /></div><!-- Search end --><!-- Table start --><div class="bs-page-table"><el-table :data="tableData" ref="multipleTableRef"><el-table-column prop="name" label="演示端" width="200" /><el-table-column prop="address" label="地址" width="200" /><el-table-column prop="notes" label="特殊說明" width="200" /><el-table-column fixed="right" label="操作" width="150"><template #default="scope"><el-buttontype="danger":icon="Delete"@click="handleRowDel(scope.$index)"circle/><el-buttontype="primary":icon="Edit"@click="handleEdit(scope.row, scope.$index)"circle/></template></el-table-column></el-table><el-dialogv-model="dialogFormVisible":title="dialogType.name === 'add' ? '新增' : '編輯'"width="500"><el-form :model="tableForm"><el-form-item label="演示端" :label-width="80"><el-input v-model="tableForm.name" autocomplete="off" /></el-form-item><el-form-item label="地址" :label-width="80"><el-input v-model="tableForm.address" autocomplete="off" /></el-form-item><el-form-item label="特殊說明" :label-width="80"><el-input v-model="tableForm.notes" autocomplete="off" /></el-form-item></el-form><template #footer><div class="dialog-footer"><el-button @click="dialogFormVisible = false"> 取消 </el-button><el-button type="primary" @click="dialogConfirm"> 確認 </el-button></div></template></el-dialog></div><!-- Table end --></div>
</template><script setup lang="ts">
import { reactive, ref } from "vue";
// import { get, post, del, put } from "../../utils/request";
import { Search } from "@element-plus/icons-vue";
import { Plus } from "@element-plus/icons-vue";
import { Delete } from "@element-plus/icons-vue";
import { Edit } from "@element-plus/icons-vue";// 演示地址
// 默認對話框關閉狀態
const dialogFormVisible = ref(false);
let tableForm = reactive({name: "",address: "",notes: "",
});
// 定義對話框標題
const dialogType = ref({ name: "add" });
// 定義表單變量
let tableData = ref([{name: "Jarry",address: "No. 189, Grove St, Los Angeles",notes: "暫無",},{name: "Tom",address: "No. 189, Grove St, Los Angeles",notes: "暫無",},
]);
//全局保存編輯的行號
const globalIndex = ref(-1);// 搜索(通過name值查找)//存在bug!!!
const handleQueryName = async () => {const result = tableData.value.filter((item: any) => item.name === tableForm.name);tableData.value = result;
};
// 新增
const handleAdd = async () => {// 打開新增對話框dialogFormVisible.value = true;dialogType.value.name = "add";// 設置新的空的綁值對象tableForm = reactive({ name: "", address: "", notes: "" });
};
// 刪除一條數據(但是現在是刪除全部對象)
const handleRowDel = async (index: any) => {// 從index位置開始,刪除一行即可tableData.value.splice(index, 1);
};
// 編輯
const handleEdit = (row: any, index: any) => {// Object.assign拷貝賦值到表單const newobj = Object.assign({}, row);tableForm = reactive(newobj);//把當前編輯的行號賦值給全局保存的行號globalIndex.value = index;console.log(globalIndex.value);// 打開編輯對話框dialogFormVisible.value = true;dialogType.value.name = "edit";
};
// 確認
const dialogConfirm = () => {// 判斷是新增還是編輯if (dialogType.value.name === "edit") {tableData.value[globalIndex.value] = tableForm;} else {//新增tableData.value.push(tableForm);}dialogFormVisible.value = false;
};
</script><style scoped lang="scss">
// 演示地址
.dem-add {width: 800px;margin: 20px 600px;background-color: rgba(255, 255, 255, 0.333);box-shadow: 0 8px 16px #0005;border-radius: 16px;overflow: hidden;// 標簽.dem-title {display: flex;justify-content: space-between;align-items: center;background-color: rgba(207, 204, 204, 0.267);padding: 0 20px;p {float: left;width: 150px;color: #000;}// 搜索::v-deep .el-input__wrapper {border-radius: 100px;}.query-input {width: 240px;height: 35px;margin: 10px auto;margin-left: 330px;background-color: transparent;transition: 0.2s;}::v-deep .el-input__wrapper:hover {background-color: #fff8;box-shadow: 0 5px 40px #0002;}// 增加按鈕.el-button {float: left;margin-top: 3px;margin-left: 10px;}}// 表格.bs-page-table {.el-table {width: 100%;border: 1px solid rgb(219, 219, 219);padding: 10px;.el-table-column {border-collapse: collapse;text-align: left;}}}// 分頁.demo-pagination-block {padding: 9px 20px;}
}
</style>

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

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

相關文章

Python裝飾器:深入理解與應用實例

Python裝飾器&#xff1a;深入理解與應用實例 一、引言 在Python編程中&#xff0c;裝飾器&#xff08;Decorators&#xff09;是一個強大且實用的特性&#xff0c;它允許程序員在不修改原有函數或類代碼的情況下&#xff0c;為其添加額外的功能。裝飾器本質上是一個可調用對…

基于springboot的知識管理系統源碼數據庫

基于springboot的知識管理系統源碼數據庫 隨著信息互聯網信息的飛速發展&#xff0c;無紙化作業變成了一種趨勢&#xff0c;針對這個問題開發一個專門適應師生作業交流形式的網站。本文介紹了知識管理系統的開發全過程。通過分析企業對于知識管理系統的需求&#xff0c;創建了…

【Git教程】(十八)拆分大項目 — 概述及使用要求,執行過程及其實現,替代解決方案 ~

Git教程 拆分大項目 1?? 概述2?? 使用要求3?? 執行過程及其實現3.1 拆分模塊版本庫3.2 將拆分出的模塊作為外部版本庫集成 4?? 替代解決方案 通常軟件項目都是由單體小型系統開始的&#xff0c;在開發過程中項目規模和團隊人員不斷擴大&#xff0c; 將項目模塊化會顯得…

C#實現各種Hash計算

C#實現各種Hash計算 文章目錄 C#實現各種Hash計算涉及框架及庫目前支持可計算的類型核心代碼完整可運行代碼 BCrypt總結 涉及框架及庫 自己在NuGet管理器里面安裝即可 BouncyCastle.Cryptography&#xff1a;是加密算法和協議的.NET實現。 目前支持可計算的類型 BLAKE2B_16…

如何在Idea離線情況下安裝vue.js插件

親踐有效&#xff0c;步驟如下: 1. 互聯網環境登陸vue.js官網(Vue.js - IntelliJ IDEs Plugin | Marketplace)。 2. 然后先確定你的IDEA的版本&#xff1a;在你IDEA的安裝文件中找到product-info.json&#xff0c;里面的buildNumber記錄著你IDEA的精確版本號&#xff0c;根據…

【Entity Framework】EF中SaveChanges如何使用

【Entity Framework】EF中SaveChanges如何使用 文章目錄 【Entity Framework】EF中SaveChanges如何使用一、概述二、更改跟蹤和SaveChanges三、SaveChanges優勢四、使用SaveChanges添加數據五、使用SaveChanges更新數據六、使用SaveChanges刪除數據七、單個SaveChanges中的多個…

roscore啟動報錯的解決方法【將環境變量配置于最后】

今天在啟動rviz時發生一個很奇怪的報錯&#xff1a; rviz: error while loading shared libraries: librviz.so: cannot open shared object file: No such file or directory 我感覺很納悶&#xff01;再試著啟動一下roscore&#xff0c;發現如下報錯&#xff1a; [rosout-1…

[muduo網絡庫]——使用muduo庫搭建Echo服務器(剖析muduo網絡庫核心部分、設計思想)

在此之前&#xff0c;我們對于muduo庫的每一類幾乎都進行了逐行的分析&#xff0c;但是一個網絡庫的每個模塊之間總是有千絲萬縷的關系&#xff0c;所以可能有的地方還是有分析的不到位&#xff0c;所以從這一篇開始&#xff0c;我們從muduo的簡單使用----搭建一個Echo服務器&a…

Python爬蟲從入門到精通:一篇涵蓋所有細節的高質量教程

目錄 第一部分&#xff1a;Python爬蟲基礎 1.1 爬蟲原理 1.2 Python爬蟲常用庫 1.3 爬蟲實戰案例 1.4 注意事項 第二部分&#xff1a;爬蟲進階技巧 2.1 處理動態加載的內容 2.2 登錄認證 2.3 分布式爬取 2.4 反爬蟲策略 第三部分&#xff1a;爬蟲實戰項目 3.1 豆瓣…

【C語言】指針(二)

目錄 一、傳值調用和傳址調用 二、數組名的理解 三、通過指針訪問數組 四、一維數組傳參的本質 五、指針數組 六、指針數組模擬實現二維數組 一、傳值調用和傳址調用 指針可以用在哪里呢&#xff1f;我們看下面一段代碼&#xff1a; #include <stdio.h>void Swap(i…

基于Spring封裝一個websocket工具類使用事件發布進行解耦和管理

最近工作中&#xff0c;需要將原先的Http請求換成WebSocket&#xff0c;故此需要使用到WebSocket與前端交互。故此這邊需要研究一下WebSocket到底有何優點和不可替代性&#xff1a; WebSocket優點&#xff1a; WebSocket 協議提供了一種在客戶端和服務器之間進行全雙工通信的…

如何在MATALB中調用libMR

? 因為個人項目原因,我曾將參考OpenMax源碼GitHub - abhijitbendale/OSDN: Code and data for the research paper “Towards Open Set Deep Networks” A Bendale, T Boult, CVPR 2016將其轉換到MATLAB使用。 OpenMax 使用極值理論實現對開放集的篩選,在計算得分時需要用l…

異地組網群暉不能訪問怎么辦?

在日常使用群暉網絡儲存設備時&#xff0c;我們常常會遇到無法訪問的情況&#xff0c;特別是在異地組網時。這個問題很常見&#xff0c;但也很讓人困擾。本文將針對異地組網群暉無法訪問的問題進行詳細解答和分析。 異地組網的問題 在異地組網中&#xff0c;群暉設備無法訪問的…

Unity | Spine動畫動態加載

一、準備工作 Spine插件及基本知識可查看這篇文章&#xff1a;Unity | Spine動畫記錄-CSDN博客 二、Spine資源動態加載 1.官方說明 官方文檔指出不建議這種操作。但spine-unity API允許在運行時從SkeletonDataAsset或甚至直接從三個導出的資產實例化SkeletonAnimation和Skel…

被耽誤了的發明家

高三的某一天&#xff0c;數學焦老師在黑板上推公式&#xff0c;突然花屁股&#xff08;見另一篇博文《數學老師們》&#xff09;上出現了一個光圈。我心里一樂&#xff0c;有人在玩鏡子。本來大家對于焦老師的花屁股已經司空見慣了&#xff0c;可以不受干擾地聽課&#xff0c;…

HNU-算法設計與分析-作業3

第三次作業【動態規劃】 文章目錄 第三次作業【動態規劃】<1>算法實現題 3-1 獨立任務最優解問題<2>算法實現題 3-4 數字三角形問題<3>算法實現題 3-8 最小m段和問題<4>算法實現題 3-25 m處理器問題 <1>算法實現題 3-1 獨立任務最優解問題 ▲問…

postgresql安裝及性能測試

postgresql安裝及性能測試 1. Postgresql介紹 Postgresql是一款功能強大的開源對象關系型數據庫管理系統&#xff08;ORDBMS&#xff09;&#xff0c;以其穩定性、擴展性和標準的SQL支持而聞名。它支持復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本并發控制&#xff08;MV…

Linux(七) 動靜態庫

目錄 一、動靜態庫的概念 二、靜態庫的打包與使用 2.1 靜態庫的打包 2.2 靜態庫的使用 三、動態庫的打包與使用 3.1 動態庫的打包 3.2 動態庫的使用 3.3 運行動態庫的四種方法 四、總makefile 一、動靜態庫的概念 靜態庫&#xff1a; Linux下&#xff0c;以.a為后綴的…

Python專題:十五、JSON數據格式

Python的數據處理&#xff1a;JOSN 計算機的主要工作&#xff1a;處理數據 最容易處理的數據就是結構化數據 非結構化數據&#xff1a;視頻&#xff0c;文件等 近些年的大數據、數據挖掘就是對互聯網中的各種非結構化的數據的分析和處理 半結構化數據 明確的結構屬性&…

陪診服務運用預約小程序的效果是什么

在中高型城市里&#xff0c;陪診師近些年也很有熱度&#xff0c;已經衍生成為一個新的小眾行業&#xff0c;不同醫院/不同科目等其它情況針對不同群體往往很難完善&#xff0c;比如部分老年人腿腳不便、不認識字、外地語言難以溝通等&#xff0c;陪診師的作用就尤為凸顯. 對相…