elementUI el-form 數(shù)據(jù)無(wú)法賦值且不報(bào)錯(cuò)解決方法
需求
vue項(xiàng)目中使用elementUI的el-form組件,里面有部分后端數(shù)據(jù)遍歷的字段和部分確定的字段。
問(wèn)題
遍歷的字段可以修改值,但是確定的幾個(gè)字段無(wú)法修改值。
解決思路
在Vue實(shí)例創(chuàng)建時(shí),form對(duì)象部分字段未聲明,因此就沒(méi)有被Vue轉(zhuǎn)換為響應(yīng)式的屬性,自然就不會(huì)觸發(fā)視圖的更新。
可以Vue的全局this.$set()
向響應(yīng)式對(duì)象中添加一個(gè)屬性,并確保這個(gè)新屬性同樣是響應(yīng)式的,且觸發(fā)視圖更新。
this.$set()用于向響應(yīng)式對(duì)象上添加新屬性,因?yàn)?Vue 無(wú)法探測(cè)普通的新增屬性。
this.$set()的語(yǔ)法
this.$set(target, propertyName/index, value) 參數(shù)一:target: 要更改的數(shù)據(jù)源(可以是一個(gè)對(duì)象或者數(shù)組) 參數(shù)二:propertyName/index: 要更改的具體數(shù)據(jù) (索引) 參數(shù)三:value: 重新賦的值(any)
代碼
html
<template>
<el-form :model="ruleForm">
<el-form-item v-for="item in key_list" :key="item.key" :label="item.title" :prop="item.key">
<div v-if="item.key === 'number'">
{{ setNumber(ruleForm[item.key]) }}
</div>
<div v-else>
<el-input v-model="ruleForm[item.key]" />
</div>
</el-form-item>
<el-form-item label="階段">
<el-select v-model="ruleForm.stage" placeholder="選擇階段">
<el-option v-for="item in stageList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="時(shí)間">
<el-date-picker v-model="ruleForm.time" type="datetime" placeholder="選擇日期時(shí)間"
value-format="yyyy-MM-dd HH:mm:ss" />
</el-form-item>
</el-form>
</template>
js
<script>
import api from './api'
export default {
data() {
key_list: [],
ruleForm: {},
},
created() {
this.init()
},
methods: {
// 初始化
init() {
api.Init({ number: this.$route.query.number }).then(res => {
if (res.code === 200) {
this.key_list = res.key_list
this.ruleForm = res.data
this.$set(this.ruleForm, 'time', null)
this.$set(this.ruleForm, 'stage', null)
} else {
this.$message.error(res.msg)
}
})
},
}
}
</script>到此這篇關(guān)于elementUI el-form 數(shù)據(jù)無(wú)法賦值且不報(bào)錯(cuò)解決方法的文章就介紹到這了,更多相關(guān)elementUI el-form無(wú)法賦值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue實(shí)現(xiàn)商品分類(lèi)菜單數(shù)量提示功能
這篇文章主要介紹了Vue實(shí)戰(zhàn)—商品分類(lèi)菜單數(shù)量提示功能,本文通過(guò)項(xiàng)目實(shí)戰(zhàn)給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
vue 修改 data 數(shù)據(jù)問(wèn)題并實(shí)時(shí)顯示操作
這篇文章主要介紹了vue 修改 data 數(shù)據(jù)問(wèn)題并實(shí)時(shí)顯示操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
vue2?web多標(biāo)簽輸入框elinput是否當(dāng)前焦點(diǎn)詳解
這篇文章主要介紹了vue2?web多標(biāo)簽輸入框elinput是否當(dāng)前焦點(diǎn)的相關(guān)資料,講解了如何在產(chǎn)品中實(shí)現(xiàn)用戶輸入文字后按下回車(chē)鍵生成標(biāo)簽并顯示在頁(yè)面上的功能,通過(guò)組件的使用和改造,解決了輸入不連續(xù)的問(wèn)題,需要的朋友可以參考下2025-01-01
Vue3實(shí)現(xiàn)可視化拖拽標(biāo)簽小程序功能
這篇文章主要介紹了Vue3實(shí)現(xiàn)可視化拖拽標(biāo)簽小程序,實(shí)現(xiàn)功能可視化標(biāo)簽拖拽,雙擊標(biāo)簽可修改標(biāo)簽內(nèi)容,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Vue3響應(yīng)式高階用法之shallowReadonly()使用
在前端開(kāi)發(fā)中,Vue3的shallowReadonly() API允許開(kāi)發(fā)者創(chuàng)建部分只讀的狀態(tài),這對(duì)于保持頂層屬性不變而內(nèi)部屬性可變的場(chǎng)景非常有用,本文將詳細(xì)介紹?shallowReadonly()?的使用方法及其應(yīng)用場(chǎng)景,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09
vue-cli如何修改打包項(xiàng)目結(jié)構(gòu)及前綴
這篇文章主要介紹了vue-cli如何修改打包項(xiàng)目結(jié)構(gòu)及前綴問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
vue使用jsMind思維導(dǎo)圖的實(shí)戰(zhàn)指南
jsMind是一個(gè)顯示/編輯思維導(dǎo)圖的純javascript類(lèi)庫(kù),其基于 html5的canvas進(jìn)行設(shè)計(jì),這篇文章主要給大家介紹了關(guān)于vue使用jsMind思維導(dǎo)圖的相關(guān)資料,需要的朋友可以參考下2023-01-01
Vue-cli3項(xiàng)目引入Typescript的實(shí)現(xiàn)方法
這篇文章主要介紹了Vue-cli3項(xiàng)目引入Typescript的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
解決在el-dialog中無(wú)法正確獲取DOM的問(wèn)題
這篇文章主要介紹了解決在el-dialog中無(wú)法正確獲取DOM的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

