VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁面同時更新的實現(xiàn)方法
VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁面同時更新
項目場景
例如:
做了一個進制轉(zhuǎn)換的工具,點擊刪除的時候需要表格實時進行更新。
問題描述
例如:
嘗試了使用 this.$set 但是還是有問題。有時候會導(dǎo)致更新失敗
解決方案
最后查了一會資料發(fā)現(xiàn)
this.tableData.splice(this.tableData.indexOf(index),1)
是最有效果的
代碼如下:
// 刪除某個記錄 handleDelete(index, row) { // 嘗試的第一種方法:(這個是錯誤的?。?!會導(dǎo)致有時候失效) // 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ù)組刪除(對象)單條刪除,多條刪除
數(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue-router跳轉(zhuǎn)和location.href的區(qū)別及說明
Vue?Router是Vue.js官方的路由管理器,它允許我們通過定義路由來管理應(yīng)用程序的不同視圖和狀態(tài),Vue路由跳轉(zhuǎn)主要有以下幾種方式:<router-link>標簽、this.$router.push方法、this.$router.replace方法和this.$router.go方法2025-01-01Vue中的百度地圖定位BMap.GeolocationControl的用法
BMap.GeolocationControl?是百度地圖API中的一個類,用于添加地理定位控件到地圖上,以便用戶可以通過該控件獲取自己的當前位置,本文給大家介紹Vue中的百度地圖定位BMap.GeolocationControl的用法,感興趣的朋友跟隨小編一起看看吧2023-10-10vue插件mescroll.js實現(xiàn)移動端上拉加載和下拉刷新
這篇文章主要介紹了vue插件mescroll.js實現(xiàn)移動端上拉加載和下拉刷新,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03Vue 基礎(chǔ)語法之計算屬性(computed)、偵聽器(watch)、過濾器(filters)詳解
計算屬性就是 Vue 實例選項中的 computed,computed 的值是一個對象類型,對象中的屬性值為函數(shù),而且這個函數(shù)沒辦法接收參數(shù),這篇文章主要介紹了Vue 基礎(chǔ)語法之計算屬性(computed)、偵聽器(watch)、過濾器(filters)詳解,需要的朋友可以參考下2022-11-11一文詳解vue各種權(quán)限控制與管理實現(xiàn)思路
這篇文章主要為大家介紹了vue各種權(quán)限控制與管理的實現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03vue使用$attrs和$listeners多級組件嵌套傳遞數(shù)據(jù)
這篇文章主要為大家介紹了vue使用$attrs和$listeners多級組件嵌套傳遞數(shù)據(jù)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08