vue 綁定對象,數(shù)組之?dāng)?shù)據(jù)無法動態(tài)渲染案例詳解
項(xiàng)目場景:
黑馬vue項(xiàng)目管理實(shí)戰(zhàn),獲取商品分類,展開欄的標(biāo)簽頁中修改修改數(shù)據(jù)屬性

問題描述:
在本該點(diǎn)擊+new tag這個(gè)標(biāo)簽頁時(shí)彈出一個(gè)input框讓用戶輸入需要添加的屬性
結(jié)果點(diǎn)擊時(shí)卻不能立馬渲染
async getParametersList() {
this.cat_id = this.currentSelect[this.currentSelect.length - 1];
const { data: res } = await this.$http.get(
`categories/${this.cat_id}/attributes`,
{
params: { sel: "many" }
}
);
this.paramasData = res.data;
res.data.forEach(item => {
item.attr_vals = item.attr_vals ? item.attr_vals.split(" ") : [];
//控制文本框的顯示與隱藏
item.inputVisible=false
//文本框中輸入的值
item.inputValue=''
console.log(item)
});
console.log(this.paramasData);
},
//點(diǎn)擊按鈕顯示對話框
// 點(diǎn)擊按鈕,展示文本輸入框
showInput(row) {
row.inputVisible = true
// 讓文本框自動獲得焦點(diǎn)
// $nextTick 方法的作用,就是當(dāng)頁面上元素被重新渲染之后,才會指定回調(diào)函數(shù)中的代碼
// this.$nextTick((_) => {
// this.$refs.saveTagInput.$refs.input.focus()
// })
},
原因分析:
參考這篇文章
http://www.dhdzp.com/article/222379.htm
原來是我在獲取參數(shù)列表之后 立馬把值進(jìn)行了雙向綁定,之后才向每一列的對象里添加inputvisible控制屬性,導(dǎo)致后續(xù)在點(diǎn)擊button時(shí),每一個(gè)對象的Inputvisble不能跟 input框中得v-if進(jìn)行實(shí)時(shí)渲染。
進(jìn)行雙向綁定后添加數(shù)組中對象的屬性值,沒有辦法讓vue為數(shù)組中后續(xù)添加的對象進(jìn)行g(shù)etter跟setter函數(shù)的綁定,所以就沒辦法得到實(shí)時(shí)渲染。
解決方案:
在對數(shù)據(jù)進(jìn)行修改完成后,再對data中的數(shù)據(jù)進(jìn)行賦值。

即
async getParametersList() {
this.cat_id = this.currentSelect[this.currentSelect.length - 1];
const { data: res } = await this.$http.get(
`categories/${this.cat_id}/attributes`,
{
params: { sel: "many" }
}
);
res.data.forEach(item => {
item.attr_vals = item.attr_vals ? item.attr_vals.split(" ") : [];
//控制文本框的顯示與隱藏
item.inputVisible=false
//文本框中輸入的值
item.inputValue=''
console.log(item)
});
this.paramasData = res.data;
console.log(this.paramasData);
},
到此這篇關(guān)于vue 綁定對象,數(shù)組之?dāng)?shù)據(jù)無法動態(tài)渲染案例詳解的文章就介紹到這了,更多相關(guān)vue 綁定對象,數(shù)組之?dāng)?shù)據(jù)無法動態(tài)渲染內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue的異步數(shù)據(jù)更新機(jī)制與$nextTick用法解讀
這篇文章主要介紹了vue的異步數(shù)據(jù)更新機(jī)制與$nextTick用法解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
vue.js模仿京東省市區(qū)三級聯(lián)動的選擇組件實(shí)例代碼
選擇省市區(qū)是我們大家在填寫地址的時(shí)候經(jīng)常會遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于利用vue.js模仿實(shí)現(xiàn)京東省市區(qū)三級聯(lián)動選擇組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11
element?ui?watch?el-input賦值之后無法刪除或修改問題
這篇文章主要介紹了element?ui?watch?el-input賦值之后無法刪除或修改問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
Vue中使用?Aplayer?和?Metingjs?添加音樂插件的方式
這篇文章主要介紹了Vue中使用?Aplayer?和?Metingjs?添加音樂插件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
vue 單頁應(yīng)用和多頁應(yīng)用的優(yōu)劣
這篇文章主要介紹了vue 單頁應(yīng)用和多頁應(yīng)用的優(yōu)劣,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-10-10
詳解Vue2.x-directive的學(xué)習(xí)筆記
這篇文章主要介紹了詳解Vue2.x-directive的學(xué)習(xí)筆記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
項(xiàng)目中如何使用axios過濾多次重復(fù)請求詳解
在項(xiàng)目開發(fā)中經(jīng)常需要處理重復(fù)點(diǎn)擊導(dǎo)致多次調(diào)用接口的問題,這篇文章主要介紹了項(xiàng)目中如何使用axios過濾多次重復(fù)請求的相關(guān)資料,需要的朋友可以參考下2021-07-07

