VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新的實(shí)現(xiàn)方法
VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新
項(xiàng)目場(chǎng)景
例如:
做了一個(gè)進(jìn)制轉(zhuǎn)換的工具,點(diǎn)擊刪除的時(shí)候需要表格實(shí)時(shí)進(jìn)行更新。
問(wèn)題描述
例如:
嘗試了使用 this.$set 但是還是有問(wèn)題。有時(shí)候會(huì)導(dǎo)致更新失敗
解決方案
最后查了一會(huì)資料發(fā)現(xiàn)
this.tableData.splice(this.tableData.indexOf(index),1)
是最有效果的
代碼如下:
// 刪除某個(gè)記錄 handleDelete(index, row) { // 嘗試的第一種方法:(這個(gè)是錯(cuò)誤的?。?!會(huì)導(dǎo)致有時(shí)候失效) // let arr = this.tableData // for(var i=index,len=arr.length-1;i<len;i++) { // arr[i]=arr[i+1] // } // arr.length = len // this.tableData = Object.assign({}, this.tableData, arr) //this.tableData = arr //this.$set(this.tableData, arr) // 這樣才有效果 this.tableData.splice(this.tableData.indexOf(index),1); }
VUE數(shù)組刪除(對(duì)象)單條刪除,多條刪除
數(shù)組單行刪除
<!-- * @Descripttion:單行刪除 * @version: 0.0.1 * @Author: PengShuai * @Date: 2022-06-01 17:30:04 * @LastEditors: PengShuai * @LastEditTime: 2022-06-01 17:30:04 --> // 數(shù)據(jù)源 demoData: [ { id: '1', name: '奧巴馬', }, { id: '2', name: '狗頭', }, { id: '3', name: '盧錫安', }, { id: '4', name: '蓋倫', }, { id: '5', name: '趙信', }, ], methods: { demo() { console.log('全部數(shù)據(jù) 5條') console.log(this.demoData) //? 單選 //! 刪除單行數(shù)據(jù) const del = '3' this.demoData = this.demoData.filter((o) => { return o.id !== del }) console.log('刪除單行所返回的數(shù)據(jù) 4條') console.log(this.demoData) }, },
結(jié)果
數(shù)組多行刪除(同一數(shù)據(jù)源)
<!-- * @Descripttion:單行刪除 * @version: 0.0.1 * @Author: PengShuai * @Date: 2022-06-09 14:17:04 * @LastEditors: PengShuai * @LastEditTime: 2022-06-09 14:17:04 --> demo() { console.log('原數(shù)據(jù)') console.log(this.demoData) //? 多選 //! 刪除多行數(shù)據(jù) const selectData = [ { id: '1', name: '奧巴馬', }, { id: '4', name: '蓋倫', }, ] console.log('刪除數(shù)據(jù)') console.log(selectData) let newData = this.demoData.filter( (a) => !selectData.some((b) => a.id === b.id) ) console.log('刪除后數(shù)據(jù)') console.log(newData) }
結(jié)果
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue-router跳轉(zhuǎn)和location.href的區(qū)別及說(shuō)明
Vue?Router是Vue.js官方的路由管理器,它允許我們通過(guò)定義路由來(lái)管理應(yīng)用程序的不同視圖和狀態(tài),Vue路由跳轉(zhuǎn)主要有以下幾種方式:<router-link>標(biāo)簽、this.$router.push方法、this.$router.replace方法和this.$router.go方法2025-01-01Vue中的百度地圖定位BMap.GeolocationControl的用法
BMap.GeolocationControl?是百度地圖API中的一個(gè)類,用于添加地理定位控件到地圖上,以便用戶可以通過(guò)該控件獲取自己的當(dāng)前位置,本文給大家介紹Vue中的百度地圖定位BMap.GeolocationControl的用法,感興趣的朋友跟隨小編一起看看吧2023-10-10vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新
這篇文章主要介紹了vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03Vue 基礎(chǔ)語(yǔ)法之計(jì)算屬性(computed)、偵聽(tīng)器(watch)、過(guò)濾器(filters)詳解
計(jì)算屬性就是 Vue 實(shí)例選項(xiàng)中的 computed,computed 的值是一個(gè)對(duì)象類型,對(duì)象中的屬性值為函數(shù),而且這個(gè)函數(shù)沒(méi)辦法接收參數(shù),這篇文章主要介紹了Vue 基礎(chǔ)語(yǔ)法之計(jì)算屬性(computed)、偵聽(tīng)器(watch)、過(guò)濾器(filters)詳解,需要的朋友可以參考下2022-11-11一文詳解vue各種權(quán)限控制與管理實(shí)現(xiàn)思路
這篇文章主要為大家介紹了vue各種權(quán)限控制與管理的實(shí)現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03vue使用$attrs和$listeners多級(jí)組件嵌套傳遞數(shù)據(jù)
這篇文章主要為大家介紹了vue使用$attrs和$listeners多級(jí)組件嵌套傳遞數(shù)據(jù)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08