vue實(shí)現(xiàn)動(dòng)態(tài)添加元素(可刪除)
vue動(dòng)態(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動(dòng)態(tài)添加/刪除dom元素
vue的思想是通過(guò)數(shù)據(jù)操作dom,所以我們根據(jù)data中的數(shù)據(jù)進(jìn)行對(duì)dom的遍歷,從而操作數(shù)據(jù)就可以對(duì)vue進(jìn)行一個(gè)動(dòng)態(tài)的添加或者刪除啦!
<template> <div> <input v-model="inpValue" type="text" placeholder="請(qǐng)輸入添加文字" @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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
VUE項(xiàng)目運(yùn)行npm install報(bào)錯(cuò)問(wèn)題以及解決
在運(yùn)行Vue項(xiàng)目時(shí)遇到npm安裝錯(cuò)誤可使用命令npminstall--legacy-peer-deps解決,若VsCode中無(wú)法運(yùn)行npm命令,則可能是IDE配置未生效,可嘗試重啟電腦或使用cmd命令行直接在項(xiàng)目目錄下運(yùn)行2024-10-10vue-admin-element項(xiàng)目突然就起不來(lái)了的解決
這篇文章主要介紹了vue-admin-element項(xiàng)目突然就起不來(lái)了的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue-cli3 配置開(kāi)發(fā)與測(cè)試環(huán)境詳解
這篇文章主要介紹了vue-cli3 配置開(kāi)發(fā)與測(cè)試環(huán)境詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05vue日常開(kāi)發(fā)基礎(chǔ)Axios網(wǎng)絡(luò)庫(kù)封裝
這篇文章主要為大家介紹了vue日常開(kāi)發(fā)基礎(chǔ)Axios網(wǎng)絡(luò)庫(kù)封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Vue實(shí)現(xiàn)動(dòng)態(tài)路由的示例詳解
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)動(dòng)態(tài)路由的相關(guān)知識(shí),主要涉及到兩個(gè)方面:一是路由的動(dòng)態(tài)添加,二是基于路由的參數(shù)變化來(lái)動(dòng)態(tài)渲染組件,下面就跟隨小編一起深入學(xué)習(xí)一下動(dòng)態(tài)路由的實(shí)現(xiàn)吧2024-02-02vue2實(shí)現(xiàn)搜索結(jié)果中的搜索關(guān)鍵字高亮的代碼
這篇文章主要介紹了vue2實(shí)現(xiàn)搜索結(jié)果中的搜索關(guān)鍵字高亮的代碼,需要的朋友可以參考下2018-08-08vue實(shí)現(xiàn)全屏滾動(dòng)效果(非fullpage.js)
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)全屏滾動(dòng)效果,非fullpage.js,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03