VUE table表格動態(tài)添加一列數(shù)據(jù),新增的這些數(shù)據(jù)不可以編輯(v-model綁定的數(shù)據(jù)不能實時更新)
一、問題
用elementUi橫著增加一行數(shù)據(jù)沒毛病,可以操作
添加一列,這新增的這一列, 第一次去賦值的時候值是改了, 但沒生效
點擊下一行時 值就變過來
二、原因
橫向添加 是復(fù)制上面的某一條數(shù)據(jù)來的,因為data里面有這些屬性的定義,所以橫向添加沒問題
而縱向添加的數(shù)據(jù),因為沒有事先在 el-select v-modle="" 里面定義好字段,定義好的option是通過v-for出來的(option是寫死的就不會有這個問題),就會出現(xiàn)選擇后,select元素上無法展示,但是其實數(shù)值已經(jīng)綁定上去了的后果,即:
v-model綁定數(shù)據(jù)不實時更新
三、解決
使用 vm.$set 實例方法
// eg:this.$set(this.someObject,'b',2)
ps:vue-table 添加動態(tài)鎖定和解鎖列功能 很強大
為什么要寫下這篇文章,因為我在網(wǎng)上找不到,關(guān)于vue-table
添加動態(tài)鎖定和解鎖列功能 的介紹
自己就嘗試著研究了下 。
我們都知道 鎖定列 只要跟 <vxe-table-column type="seq" width="60" align="center" fixed="left"/>
一樣 ,添加
fixed=“l(fā)eft”
或者 fixed=“right”
就可以向左或向右 鎖定, 但這畢竟 不能動態(tài)鎖定 。
首先我要的效果是 :
這是站在官方文檔實現(xiàn) 復(fù)雜excel 篩選功能的基礎(chǔ)上進(jìn)行的
廢話不多說,直接擊要害。
在 FilterExcel.vue
里邊
在相應(yīng)的位置 添加代碼 :
<li class="me-menu" @click="onLock('left')"> <span>左鎖定此列</span> </li> <li class="me-menu" @click="onLock('right')"> <span>右鎖定此列</span> </li> <li class="me-menu" @click="offLock"> <span>解除鎖定</span> </li>
然后就是在方法區(qū)添加方法:offLock() { const { $panel, $table, $columnIndex } = this.params $table.closeFilter() $panel.$options.parent.tableColumn[$columnIndex].fixed = undefined $table.refreshColumn() }, onLock(val) { const { $panel, $table, $columnIndex } = this.params $table.closeFilter() $panel.$options.parent.tableColumn[$columnIndex].fixed = '' + val + '' $table.refreshColumn() },
到此 功能實現(xiàn)。
頁面組件引用 :FilterExcel.vue
實際開發(fā)中都是封裝成組件 方便使用
<vxe-table-column field="platform" title="平臺" width="100px" align="center" sortable :filters="[{data: {vals: [], sVal: '', fMenu: '', f1Type:'', f1Val: '', fMode: 'and', f2Type: '', f2Val: ''}}]" :filter-render="{name: 'FilterExcel'}" />
總結(jié)
到此這篇關(guān)于VUE table表格動態(tài)添加一列數(shù)據(jù),新增的這些數(shù)據(jù)不可以編輯(v-model綁定的數(shù)據(jù)不能實時更新)的文章就介紹到這了,更多相關(guān)vue table 動態(tài)添加數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue Promise解決回調(diào)地獄問題實現(xiàn)方法
這篇文章主要介紹了Vue Promise解決回調(diào)地獄問題,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2023-01-01vue中如何使用lodash的debounce防抖函數(shù)
防抖函數(shù) debounce 指的是某個函數(shù)在某段時間內(nèi),無論觸發(fā)了多少次回調(diào),都只執(zhí)行最后一次,在Vue中使用防抖函數(shù)可以避免在頻繁觸發(fā)的事件中重復(fù)執(zhí)行操作,這篇文章主要介紹了vue中使用lodash的debounce防抖函數(shù),需要的朋友可以參考下2024-01-01Vue+WebSocket頁面實時刷新長連接的實現(xiàn)
最近vue項目要做數(shù)據(jù)實時刷新,數(shù)據(jù)較大,會出現(xiàn)卡死情況,所以本文主要介紹了頁面實時刷新長連接,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06vue 組件數(shù)據(jù)加載解析順序的詳細(xì)代碼
Vue.js的解析順序可以概括為:模板編譯、組件創(chuàng)建、數(shù)據(jù)渲染、事件處理和生命周期鉤子函數(shù)執(zhí)行,接下來通過本文給大家介紹vue 組件數(shù)據(jù)加載解析順序的完整代碼,感興趣的朋友跟隨小編一起看看吧2024-03-03Vuex中this.$store.commit()和this.$store.dispatch()區(qū)別說明
這篇文章主要介紹了Vuex中this.$store.commit()和this.$store.dispatch()區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04