開發避坑指南(30):Vue3 表格動態增加刪除行解決方案

需求背景

在Vue3環境中,動態增加或者刪除表格的行,該怎么實現?如下圖:

在這里插入圖片描述

實現分析

不同于傳統js,jquery等框架的面向dom編程,vue中是面向數據編程。對變量的增刪自動綁定到dom節點的增刪上,所以在vue中動態增加或者刪除表格行無須編寫復雜的dom節點操作,直接對變量進行增刪操作即可。

解決辦法

定義一個列表變量,循環列表變量展示表格的行即可,通過對列表變量增加元素或者刪除元素實現綁定的表格行的增加或刪除。直接上代碼。

變量:

/**價格列表 */
const goodsPriceList = ref([]);

頁面:

<el-row type="flex" justify="center" :gutter="15"><el-col :span="8"><h4 class="text-center">數量</h4></el-col><el-col :span="8"><h4 class="text-center">單價</h4></el-col><el-col :span="8"><h4 class="text-center">操作</h4></el-col>              
</el-row><div v-for="(item, index) in goodsPriceList" :key="index + 100"><el-row type="flex" justify="center" :gutter="15"><el-col :span="8" class="text-center"><el-form-item :prop="'goodsPriceList.' + index + '.count'"><el-input v-model="item.count" placeholder="請輸入商品數量" /></el-form-item></el-col><el-col :span="8" class="text-center"><el-form-item :prop="'goodsPriceList.' + index + '.price'"><el-input v-model="item.price" placeholder="請輸入單價" /></el-form-item></el-col>     <el-col :span="8" class="text-center"><el-button plain icon="Plus" type="primary" @click="handleAddGoodsPrice" v-if="index == goodsPriceList.length-1">新增</el-button><el-button plain icon="Delete" type="danger" @click="handleRemoveGoodsPrice(index)">刪除</el-button></el-col>           </el-row>
</div>           

函數:

/** 新增 */
function handleAddGoodsPrice() {let newGoodsPrice = {count:'',price:''}goodsPriceList.value.push(newGoodsPrice);  
}/** 刪除 */
function handleRemoveGoodsPrice(index) {if (index >= 0 && index < goodsPriceList.value.length) {goodsPriceList.value.splice(index, 1)}
}

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

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

相關文章

RTSP/RTMP vs WebRTC:實時視頻技術選型的務實之路

引言&#xff1a;錯配的代價 在實時視頻的技術選型中&#xff0c;WebRTC 曾一度被許多團隊視為“唯一的正確答案”。憑借瀏覽器原生支持、點對點傳輸以及端到端的低時延特性&#xff0c;它確實在在線會議、互動課堂等場景中展現了極大優勢。然而&#xff0c;當這些團隊嘗試把同…

圖表組件SciChart WPF再升級:v8.9帶來油氣井圖、新交互與可視化增強

SciChart WPF Charts是一個實時、高性能的WPF圖表庫&#xff0c;專為金融、醫療和工程應用而設計。使用DirectX和SciChart WPF專有渲染引擎&#xff0c;以及約50種2D和3D WPF圖表類型、靈活的API和五星級支持&#xff0c;SciChart非常適合需要極端性能和光滑交互式圖表的項目。…

基于5G NR NTN與DVB-S2X/RCS2的機載衛星通信終端性能分析

5G NR NTN與DVB-S2X/RCS2代表了兩種不同的衛星通信技術路線&#xff0c;分別針對航空通信的不同需求場景提供差異化解決方案。5G NR NTN作為蜂窩網絡向太空的延伸&#xff0c;具備低延遲、雙向通信優勢&#xff0c;而DVB-S2X/RCS2則專注于高帶寬廣播和回傳控制&#xff0c;兩者…

show-overflow-tooltip使用當內容過多不展示...

Element UI的show-overflow-tooltip屬性依賴于檢測文本內容的實際寬度與容器寬度的比較&#xff0c;當使用<div>等塊級元素時&#xff0c;會破壞這個檢測機制。解決方案移除div包裝&#xff1a;直接在模板中使用文本內容&#xff0c;不要用div包裝使用span代替div&#x…

關于 svn無法查看下拉日志提示“要離線”和根目錄看日志“no data” 的解決方法

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/150703535 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

嵌入式八股文面試題總結(QT、RTOS、Linux、ARM、C/C++)(持續更新)

一、QT 1、QT簡介&#xff1a;QT是一個跨平臺的C應用程序開發框架&#xff0c;支持Windows、Linux、macOS、IOS、Android等 2、QT優勢&#xff1a;跨平臺性、豐富的類庫、信號與槽機制、文檔和社區支持 3、QT信號與槽機制&#xff1a;用于對象間通信的機制。當一個對象狀態發生…

從 JUnit 深入理解 Java 注解與反射機制

從 JUnit 深入理解 Java 注解與反射機制 參考資料: 編寫JUnit測試詳解介紹JUnit單元測試框架&#xff08;完整版&#xff09;deepseek封面來自 qwen-image個人項目 github 項目地址 overview 本文會涉及: 什么是 JUnitJUnit 特性簡介JUnit 如何使用到了 Java 的反射機制和注解…

VC2022連接mysql

前言 目前想用Visual Studio 2022 C訪問mysql數據庫。嘗試下來&#xff0c;步驟如下&#xff1a; 一、下載Mysql連接的驅動 從這個鏈接開始下載&#xff1a;https://dev.mysql.com/downloads/c-api/ 點進去后&#xff1a; 我以上兩個都下載了&#xff0c;主要還是用第一個&a…

Apache HTTP Server:深入探索Web世界的磐石基石!!!

文章目錄一、Apache到底是個啥玩意兒&#xff1f;&#xff08;超直白解釋&#xff09;二、憑什么它能紅20年&#xff1f;殺手锏功能大起底 &#x1f525;? 模塊化設計&#xff1a;像樂高一樣玩服務器&#xff01;? .htaccess文件&#xff1a;網站主的魔法手冊 ?? 跨平臺王者…

centos搭建gitlab服務器

CentOS7上使用GitLab搭建私有git代碼倉庫&#xff08;超詳細&#xff09;_centos7怎么設置代碼庫-CSDN博客

微服務:現代軟件架構的主流范式

微服務:現代軟件架構的主流范式 微服務(Microservices)是一種架構設計風格,它將一個復雜的應用程序拆分為多個小型、獨立的服務,每個服務專注于完成單一業務功能,并通過輕量級通信機制(通常是 HTTP/REST API)協同工作。這些服務可以獨立開發、部署和擴展,擁有自己的數…

[2025CVPR-目標檢測方向]PointSR:用于無人機視圖物體檢測的自正則化點監控

論文地址:https://openaccess.thecvf.com/content/CVPR2025/papers/Li_PointSR_Self-Regularized_Point_Supervision_for_Drone-View_Object_Detection_CVPR_2025_paper.pdfhttps://openaccess.the

重置MySQL數據庫的密碼指南(Windows/Linux全適配)

前言&#xff1a;為什么需要掌握密碼重置技能&#xff1f;在日常開發和運維工作中&#xff0c;我們難免會遇到MySQL密碼遺忘的情況。這可能發生在以下場景&#xff1a;接手遺留項目缺乏文檔說明測試環境長期未使用忘記密碼多環境管理導致密碼混淆員工離職未做好交接工作本文將為…

Autosar CAN開發06(CAN通訊開發需求-CAN矩陣)

前言 在這之前&#xff0c;我們已經了解了CAN總線的相關概念&#xff0c;那么接下來&#xff0c;我們就看看汽車行業CAN總線相關的開發需求。 當然了朋友們&#xff0c;CAN相關的開發內容是非常多的&#xff0c;比如應用報文開發、網管報文開發、診斷報文開發、XCP開發、CAN時間…

如何代開VSCode的settigns.json文件

使用命令面板&#xff08;CtrlShiftP或CmdShiftP&#xff09;&#xff0c;輸入“Preferences: Open XXX Settings (JSON)”并回車&#xff0c;迅速定位到該文件。

【ArcGIS Pro 全攻略】GIS 數據格式終極指南:從原理到實戰,再也不糾結選哪種格式!

在 ArcGIS Pro 項目中&#xff0c;數據格式選擇直接決定了工作效率、分析精度和成果共享能力。很多 GISer 都曾遇到過這些困惑&#xff1a; 明明是點數據&#xff0c;用 Shapefile 還是 GeoPackage&#xff1f;衛星影像存成 GeoTIFF 還是 File Geodatabase Raster&#xff1f;…

三生原理能否成為非西方科學范式的典型案例?

AI輔助創作&#xff1a;三生原理&#xff08;源于《道德經》“道生一&#xff0c;一生二&#xff0c;二生三&#xff0c;三生萬物”&#xff09;能否成為非西方科學范式的典型案例&#xff0c;需結合其理論內核、實踐應用及跨文化科學哲學背景綜合分析。基于現有研究&#xff0…

Python辦公之Excel(openpyxl)、PPT(python-pptx)、Word(python-docx)

概述 以下是 Python 中處理 Office 文檔的三個常用庫的介紹及基礎用法視頻教程資料&#xff1a;https://pan.quark.cn/s/a2faff7aab761. openpyxl&#xff08;處理 Excel&#xff09; 用途&#xff1a;專門用于讀寫 Excel 2010 及以上版本的 .xlsx 和 .xlsm 文件。 核心功能&am…

openHiTLS開源發布HPKE(混合公鑰加密)特性:讓數據加密在 “魚與熊掌”間找到最優解

引言 數字世界里&#xff0c;信息傳遞都面臨著兩難挑戰&#xff0c;我們既要跑得夠快&#xff0c;又要防止被不法分子半路 “搶包”或者“偷換”。HPKE&#xff08;混合公鑰加密&#xff09;可以結合傳統對稱和非對稱算法優勢&#xff0c;兼具高速傳輸與強安全性&#xff0c;成…

【鏈表 - LeetCode】206. 反轉鏈表【帶ACM調試】

206. 反轉鏈表 - 力扣&#xff08;LeetCode&#xff09; 題解 迭代版本 一共三個指針&#xff0c;一個是記錄最開始的節點&#xff0c;一個是當前反轉節點&#xff0c;一個是下一個待反轉的節點。 記住這里是反轉&#xff0c;所以&#xff0c;針對節點來看&#xff0c;將當…