vue實(shí)現(xiàn)動態(tài)添加元素(可刪除)
vue動態(tài)添加元素(可刪除)
//車輛添加按鈕
handleAddCar(){
console.log(this.infoForm.carList);
if(this.infoForm.carList.length>1){
Toast.success({ message:"最多添加兩輛車輛信息" ,duration: 1000});
return;
}else{
let cope = {
name: "",
}
this.infoForm.carList.push(cope);
}
},
//刪除車輛
handleDelCar(index){
this.infoForm.carList.splice(index, 1);
}, <van-field
placeholder="車輛信息"
:disabled="isPreview"
v-for="(list,index) in infoForm.carList"
:key="index"
:label="'車輛信息'+(index+2)"
:name="'licenseNum'+(index+2)"
v-model="list.name"
>
<template #button>
<van-icon name="close" v-show="!isPreview" size="0.7rem" color="#1989fa" @click="handleDelCar"/>
</template>
</van-field> vue動態(tài)添加/刪除dom元素

vue的思想是通過數(shù)據(jù)操作dom,所以我們根據(jù)data中的數(shù)據(jù)進(jìn)行對dom的遍歷,從而操作數(shù)據(jù)就可以對vue進(jìn)行一個動態(tài)的添加或者刪除啦!
<template>
<div>
<input
v-model="inpValue"
type="text"
placeholder="請輸入添加文字"
@blur="addList"
/>
<ul v-if="list.length > 0">
<li v-for="(item, index) in list" :key="index">
{{ item }} <span @click="removeList(index)">X</span>
</li>
</ul>
</div>
</template><script>
export default {
data() {
return {
list: [],
inpValue: "",
};
},
methods: {
// 向list數(shù)組內(nèi)添加
addList() {
// 判斷輸入框不為空
if (this.inpValue) {
// 查重
const isIncludes = this.list.includes(this.inpValue);
if (!isIncludes) {
this.list.push(this.inpValue);
this.inpValue = "";
} else {
alert("添加重復(fù)");
this.inpValue = "";
}
}
},
// 向數(shù)組中刪除元素
removeList(index) {
this.list.splice(index, 1);
},
},
};
</script><style scoped>
div {
width: 1200px;
margin: 100px auto;
}
input {
width: 400px;
border: 1px solid #eee;
border-radius: 5px;
height: 30px;
line-height: 30px;
}
ul {
margin: 20px 0;
padding: 0;
list-style-type: none;
width: 400px;
}
li {
border: 1px solid #ccc;
margin: 10px 0;
position: relative;
}
span {
position: absolute;
cursor: pointer;
right: 10px;
color: red;
}
</style>總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
VUE項(xiàng)目運(yùn)行npm install報(bào)錯問題以及解決
在運(yùn)行Vue項(xiàng)目時遇到npm安裝錯誤可使用命令npminstall--legacy-peer-deps解決,若VsCode中無法運(yùn)行npm命令,則可能是IDE配置未生效,可嘗試重啟電腦或使用cmd命令行直接在項(xiàng)目目錄下運(yùn)行2024-10-10
vue-admin-element項(xiàng)目突然就起不來了的解決
這篇文章主要介紹了vue-admin-element項(xiàng)目突然就起不來了的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
vue-cli3 配置開發(fā)與測試環(huán)境詳解
這篇文章主要介紹了vue-cli3 配置開發(fā)與測試環(huán)境詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
vue日常開發(fā)基礎(chǔ)Axios網(wǎng)絡(luò)庫封裝
這篇文章主要為大家介紹了vue日常開發(fā)基礎(chǔ)Axios網(wǎng)絡(luò)庫封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Vue實(shí)現(xiàn)動態(tài)路由的示例詳解
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)動態(tài)路由的相關(guān)知識,主要涉及到兩個方面:一是路由的動態(tài)添加,二是基于路由的參數(shù)變化來動態(tài)渲染組件,下面就跟隨小編一起深入學(xué)習(xí)一下動態(tài)路由的實(shí)現(xiàn)吧2024-02-02
vue2實(shí)現(xiàn)搜索結(jié)果中的搜索關(guān)鍵字高亮的代碼
這篇文章主要介紹了vue2實(shí)現(xiàn)搜索結(jié)果中的搜索關(guān)鍵字高亮的代碼,需要的朋友可以參考下2018-08-08
vue實(shí)現(xiàn)全屏滾動效果(非fullpage.js)
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)全屏滾動效果,非fullpage.js,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03

