vue 動態(tài)添加/刪除dom元素節(jié)點的操作代碼
vue 動態(tài)添加/刪除dom元素
需要在點擊添加時,增加一行key/value的輸入框;點擊垃圾桶圖標時,刪除對應(yīng)行
效果圖
核心:使用v-for來管理添加行數(shù)量。
<div class="addPanel"> <div v-for="num in ParamsNum" :key="num"> <el-row style="margin-bottom: 10px;"> <el-col :span="9"> <el-input v-model="temp.params[num].key" placeholder="key" size="small"/> </el-col> <el-col :span="10"> <el-input style="margin-left: 10px;" v-model="temp.params[num].value" placeholder="value" size="small"/> </el-col> <el-col :span="4" style="text-align: center;line-height: 30px;"> <i class="el-icon-delete-solid" style="color:red;cursor: pointer;" @click="handleDeleteParams(num)"></i> </el-col> </el-row> </div> <span class="addBlock" @click="handleAddParams"><i class="el-icon-plus" style="font-weight: bold"></i> 添加請求參數(shù)</span> </div>
data() { return { temp: { params: [{key:'',value:''}] }, ParamsNum: 0 } }, methods: { handleAddParams() { this.temp.params.push({key:'',value:''}) this.ParamsNum++ }, handleDeleteParams(num) { this.ParamsNum-- this.temp.params.splice(num,1) } }
.addPanel { margin-left: 10px; width: 98%; min-height: 70px; border: 2px solid #e4e7ed; border-radius: 15px; padding: 10px; } .addBlock { line-height: 50px; border: 1px #dddddd dashed; padding: 10px; cursor: pointer; }
擴展:
vue中刪除dom元素節(jié)點
document.querySelectorAll(…).remove is not a function"
document.querySelectorAll('.esedbox .triangle_b').remove()
因為document.querySelectorAll(‘.esedbox .triangle_b’)返回的不是數(shù)組,而是類數(shù)組,不能用remove方法(remove方法是dom元素節(jié)點的方法)
Array.from()方法主要用于將兩類對象(類似數(shù)組的對象[array-like object]和可遍歷對象[iterable])轉(zhuǎn)為真正的數(shù)組。
正確的寫法:
const cleardom = document.querySelectorAll('.esedbox .triangle_b, .triangle_p') Array.from(cleardom).forEach((item) => { item.remove() })
到此這篇關(guān)于vue 動態(tài)添加/刪除dom元素的文章就介紹到這了,更多相關(guān)vue刪除dom元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3.2?新增指令?v-memo?用法詳解(提高性能利器)
v-memo 接受一個依賴的數(shù)組,依賴的數(shù)組變化,v-memo 所對應(yīng)的 DOM 包括子集將會重新渲染,這篇文章主要介紹了Vue3.2?新增指令?v-memo?用法,提高性能的又一利器,需要的朋友可以參考下2022-09-09關(guān)于Vue?監(jiān)控數(shù)組的問題
這篇文章主要介紹了Vue?監(jiān)控數(shù)組的示例,主要包括Vue?是如何追蹤數(shù)據(jù)發(fā)生變化,Vue?如何更新數(shù)組以及為什么有些數(shù)組的數(shù)據(jù)變更不能被?Vue?監(jiān)測到,對vue監(jiān)控數(shù)組知識是面試比較常見的問題,感興趣的朋友一起看看吧2022-05-05antd form表單使用setFildesValue 賦值失效的解決
這篇文章主要介紹了antd form表單使用setFildesValue 賦值失效的解決方案,具有很好的參考價值,希望對大家有所幫助。2023-04-04vue3中vite的@路徑別名與path中resolve實例詳解
這篇文章主要給大家介紹了關(guān)于vue3中vite的@路徑別名與path中resolve的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-02-02vue?el-table實現(xiàn)動態(tài)添加行和列具體代碼
最近遇到一個動態(tài)增加行和列的需求,所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于vue?el-table實現(xiàn)動態(tài)添加行和列的相關(guān)資料,需要的朋友可以參考下2023-09-09