Vue3 sortablejs 表格拖拽后,表格無法更新的問題處理

實用sortablejs在vue項目中實現表格行拖拽排序

你可能會發現,表格排序是可以實現,但是我們基于數據驅動的vue中關聯的數據并沒有發生變化, 如果你的表格帶有列固定(固定列實際上在dom中有兩個表格,其中固定的列在一個表格中,其他表格再另一個表格中),如果你再固定列加的拖拽,只變固定列,其他非固定列并不變,或者你在非固定列增加了拖拽,但是固定列卻也不變化。

發生這個問題的主要原因是,sortablejs 實際上變化的是dom,也就是說在呈現層面上發生了變化。所以你需要在拖拽完成之后,去手動變化數據的排序。
你手動變化排序之后,你會發現也支持你的數據順序變化了,但是頁面上依然不更新。

我們先一個個來解釋:
1 如果有固定列,實際上你變化的是固定列,二非固定列不變化。
固定列表格
如上圖,這就是帶有固定列。
兩個表格控制
固定列添加拖拽
這個是給固定列添加拖拽。
此時問題就來了,表現層:
不同步的問題
你會發現,固定列拖拽,位置變了,但是非固定部分,卻不會跟著變化。這就是不是同一個表格的原因。sortablejs 只變化了所在表格的dom結構,和非固定部分并不在同一個表格。這時你會相當去變數據。使其數據同步后看問題能否解決。
你會在onEnd 事件中,拿到新位置和老位置的索引,然后利用索引對數據進行切換。

為避免問題,我這里實在onStart中去拿當前數據,然后在onEnd中判斷后去新舊數據進行替換的。

這時你會發現,數據已經變好了,但是頁面依然是有如上圖的效果,不會更新表格數據的結構。這時因為我們在這里做的表格數據替換,不會觸發表格更新。所以這里你需要想辦法讓讓表格重新渲染。

你可能會想到很多辦法,我這里就很簡單處理下。

你把表格渲染所依賴的數據先清空,然后再把剛才排完序的數據重新賦值給表格即可。

這樣就完成了,退拽后,無論是拖拽固定列或者非固定列,基于vue的數據驅動實現重新渲染排完序的表格。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39081.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39081.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39081.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Python】優雅的快速選擇 - 快速排序 - 隨機快速排序

快速選擇(遞歸實現版) 這里給出以 “leetcode215. 數組中的第K個最大元素”為例的代碼。 class Solution:def findKthLargest(self, nums, k):self.nums numsn len(nums)return self.quickSelect(0,n-1,n-k)def quickSelect(self,l,r,k): # 手擼快速…

Vue3實戰筆記(64)—Vue 3自定義指令的藝術:實戰中的最佳實踐

文章目錄 前言一、一些簡單的Vue3自定義指令超實用案例總結 前言 書接上文,在Vue3中,自定義指令是一種強大的工具,允許我們擴展HTML元素的功能。通過自定義指令,我們可以創建可重用的行為,并將它們綁定到任何元素上。…

訂單折扣金額分攤算法|代金券分攤|收銀系統|積分分攤|分攤|精度問題|按比例分配|錢分攤|錢分配

一個金額分攤的算法,將折扣分攤按比例(細單實收在總體的占比)到各個細單中。 此算法需要達到以下要求: 折扣金額接近細單總額,甚至折扣金額等于細單金額,某些時候甚至超過細單總額,要保證實收不…

游泳哪個牌子好?6大游泳耳機選購技巧總結分享

游泳耳機作為水上運動愛好者和游泳專業人士的必備裝備,不僅要能夠抵御水的侵入,還要提供清晰的音質和舒適的佩戴體驗。在市面上,不同品牌的游泳耳機琳瑯滿目,選擇起來可能會令人頭疼。本文旨在為您提供一份詳盡的游泳耳機選購指南…

每日一練 - Routing Policy節點邏輯

01 真題題目 一個 routing-policy 下可以有多個節點,不同節點號用 node 標識,每個節點下可以有多個if-match 和 apply 子句,下面哪些描述是錯誤的? A. 不同節點之間是“或"的關系 B. 當路由與該節點的任意一個 if-match 條件匹配失敗后,系統自動轉入下一節點…

Gemma輕量級開放模型在個人PC上釋放強大性能,讓每個桌面秒變AI工作站

Google DeepMind團隊最近推出了Gemma,這是一個基于其先前Gemini模型研究和技術的開放模型家族。這些模型專為語言理解、推理和安全性而設計,具有輕量級和高性能的特點。 Gemma 7B模型在不同能力領域的語言理解和生成性能,與同樣規模的開放模型…

名企專訪|對抗價格內卷,格行隨身WiFi如何持續三年爆火引領潮流

近期要是問網紅達人最喜歡帶貨的單品是什么?那一定有格行隨身WiFi的一席之地。能聚集了如此多的明星達人,僅僅是一句帶貨收益高顯然無法說服大家。顯然這里面還有著不為人知的秘密,先鋒財經特意專訪了格行隨身WiFi的創始人劉永先先生&#xf…

8.x86游戲實戰-OD詳解

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 本次游戲沒法給 內容參考于:微塵網絡安全 上一個內容:7.x86游戲實戰-C實現跨進程讀寫-跨進程寫內存 工具下載:下載 OllyI…

嵌入式Linux之Uboot簡介和移植

uboot簡介 uboot 的全稱是 Universal Boot Loader,uboot 是一個遵循 GPL 協議的開源軟件,uboot是一個裸機代碼,可以看作是一個裸機綜合例程。現在的 uboot 已經支持液晶屏、網絡、USB 等高級功能。 也就是說,可以在沒有系統的情況…

[我靠升級逆襲成為大師]韓漫日漫無刪減完整版,免費在線觀看漫畫

[我靠升級逆襲成為大師]韓漫日漫無刪減完整版,免費在線觀看漫畫 不能多說,怕審-核不過,自己看圖吧。 目前統計【統計日期:2024-07-03】: 完結的有:420部。 連載的有:308部,持續更…

生單鏈路流程復雜,涉及到上下游商品、庫存、營銷、風控、拆單、校驗、落庫等等十多個節點操作,需要保證數據的完整性和正確性

處理復雜的生單鏈路流程,確保數據的完整性和正確性,需要一個綜合的策略,包括但不限于以下幾個方面: 1. **流程設計**: - 明確每個節點的職責和輸入輸出,確保流程的邏輯清晰。 2. **數據校驗**&#xf…

python庫(1):Nuitka庫

1 Nuitka介紹 Nuitka是一個 Python 解釋器的替代品,支持CPython提供的代碼,可編譯 Python 代碼到 C 程序,并使用 libpython 來執行這些代碼,就像 CPython 一樣。 這讓你可以在沒有安裝 Python 的環境中運行 Python 程序&#xf…

AC7801時鐘配置流程

一 默認配置 在啟動文件中,已經對時鐘進行了初始化,默認按外部8M晶振,配置系統時鐘為48MHZ,APB為系統時鐘的2分頻,為24MHZ。在system_ac780x.c文件中,可以找到下面這個系統初始化函數,里面有Se…

前端修改audio背景色

1.查看瀏覽器設置Show user agent shadow DOM是否打開 2.打開可以查看audio Dom /** 去掉默認的背景顏色 */ audio::-webkit-media-controls-enclosure{background-color:unset; } 3.效果圖

Java官網網址及其重要資源

Java是一種廣泛應用于開發各種應用程序的編程語言,它具有跨平臺、面向對象和高性能等優勢。若你想學習Java或深入了解它的最新動態,Java官網是你的首要目的地。在本文中,我們將向你介紹Java官網的網址以及一些重要資源。 Java官網網址&#x…

TCP/IP 網絡協議族分層

TCP/IP協議族 TCP/IP不單是TCP和IP兩個協議,TCP/IP實際上是一組協議,它包括上百個各種功能的協議,如:遠程登錄、文件傳輸和電子郵件等,當然,也包括TCP、IP協議 它將軟件通信過程抽象化為四個抽象層&#…

基于SpringBoot校園外賣配送系統設計和實現(源碼+LW+調試文檔+講解等)

💗博主介紹:?全網粉絲10W,CSDN作者、博客專家、全棧領域優質創作者,博客之星、平臺優質作者、專注于Java、小程序技術領域和畢業項目實戰?💗 🌟文末獲取源碼數據庫🌟 感興趣的可以先收藏起來,…

c++:關鍵字異常處理機制

模板編程的幾個關鍵字 模(mu)板編程初體驗 (1)template和typename (2)模板實際上是一種抽象,C的高級編程特性就是不斷向抽象化發展 export (1)用來在cpp文件中定義一個模板類或模板函數,而它的聲明在對應的h文件中 (2)export專用于模板,類似…

揭秘電子世界的雙雄:模擬電路與數字電路的精彩對決!

數字電路與模擬電路,這兩者在電子工程領域可謂是兩大基石,各有千秋,各自發揮著不可或缺的作用。下面,我們就來詳細探討一下它們之間的主要區別。 1. 信號類型與處理 模擬電路:處理的是連續變化的信號,就像…

使用阿里云語音服務實現設備異常實時通知

隨著物聯網的普及,設備異常通知方式也變得多種多樣。從傳統的后臺異常列表,到短信通知,再到微信消息通知等。然而,當設備探測到火警等緊急異常時,需要實時通知到相關人員。本文將介紹如何借助阿里云的語音服務來實現這一功能。 1. 準備工作 1.1 資質申請 首先,登錄阿里…