vue动态给data中添加变量
我的业务是动态给v-model赋值 但是你得更改所以做不到一对一这时候你就得动态创建变量
首先你得知道你的数据结构是什么样的,然后你根据你数据的结构用数组动态创建变量
然后用你创建的空数组一一对应v-model赋值
- js:
for (var i =0;i< _this.particulars.itemlist.length;i++) { _this.timeset.push([]); for (var k = 0;k<_this.particulars.itemlist[i].tasklist.length;k++) { _this.timeset[i].push({stoptime:'',measuretext:''}); } }
- data:
timeset : [];
- html:
<div class="module"> <div class="question-group" v-for="(item,index) in particulars.itemlist" :key="index"> <p class="group-title">{{item.title}}</p> <div class="group-content" v-for="(list,idx) in item.tasklist" :key="idx"> <div class="question"> <div class="question-type">整</div> <p class="question-title">{{list.clausecontent}}</p> <div class="question-sub"> <p class="title">凭证详情</p> <textarea class="input-show" placeholder="请输入措施内容" v-model="timeset[index][idx].measuretext"></textarea> </div> <div class="question-options form-item-group"> <div class="module-wrapper half"> <!-- 时间选择(带标题) --> <div class="form-item with-label"> <p class="label">任务结束时间<span class="required">*</span></p> <div class="module"> <flat-pickr :config="pickrconfig" placeholder="请选择结束时间" v-model="timeset[index][idx].stoptime"></flat-pickr> </div> </div> </div> </div> </div> </div> </div> </div>
vue给data中的变量动态添加后缀
比如在data中声明的show1、show2、show3、show4,会有场景使用时是showx
需要用到一个变量去赋值1、2、3、4…
let index = 1/2/3/4 this[`show${index}`]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论