vue v-for遍历动态展示元素数量

Vue动态v-for渲染元素
本文介绍了如何在Vue中使用v-for指令根据返回结果类型动态显示不同类型的元素,如文本框、数字框、选项等。通过示例展示了如何结合属性(list)中的name、type和默认值来实现这一功能,利用JSON.stringify和JSON.parse处理数据。

                                         vue v-for遍历动态展示元素数量

       最近研究了下vue,想实现一个功能,通过返回结果类型(列表)动态展示多个元素(可以是:文本框、数字框、选项等)。具体的实现如下:

一、实例

1、html

property(list) ,包含字段:[{"fildna":"1","fildtp":"1", "fildva": ""}]

fildna : name

fildtp: type

fildva: 默认值

<div>
    <div v-for="(item, i) in this.property" :key="item.fildna" style="margin-top: 20px">
      <div v-if="item.fildtp === '1'">
        <label style="width: 120px; display: inline-block">{{item.fildna}} : </label>
        <el-input v-model="item.fildva" type="text" style="width: 500px; height: 30px;"></el-input>
      </div>
      <div v-if="item.fildtp === '2'">
        <label style="width: 120px; display: inline-block">{{item.fildna}} : </label>
        <el-input v-model="item.fildva" type="text" oninput="value=value.replace(/[^\d]/g, '')" style="width: 500px; height: 30px;"></el-input>
      </div>
      <div>
           ….
      </div>
    </div>
</div>

2、js: 获取输入值

这里用到了JSON.stringify: 将一个JavaScript值(对象或者数组)转换为一个 JSON字符串;JSON.parse()则可以将JSON字符串转为一个对象:

for (let i in this.property) {
  this.property[i].val = this.property[i].fildva
}
let postData = this.$qs.stringify({
  para: JSON.stringify(this.property)
})

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值