博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue 如何在循环中绑定v-model
阅读量:4562 次
发布时间:2019-06-08

本文共 1220 字,大约阅读时间需要 4 分钟。

vue 如何在循环中绑定v-model

我现在有这么一个需求,页面上有多项输入框,但是具体有多少项,我也不知道,它是通过"新增一项"按钮点击事件,点击一下,就新增一项;如下图这个样子;

代码如下:

我希望的是,如上代码 v-model="item1", item2, 依次类推 ... item(n);

当我们点击提交按钮的时候,我们需要判断input输入框是否有值,没有值的话,不允许提交等等这些操作。这些东西我们可以通过 v-model来判断;

所以我当初的设计是想,想通过这样循环来给v-model设置不同的值:

  • 但是这样弄,vue就会报错了,或者v-model不生效等等这些问题的产生,它会直接把 item2等显示在input输入框内,所以这种方法目前还未想到解决的方法,但是我们可以换一种方式去考虑的。

    最终方案是:

    1. 首先在data里面定义如下字段:

    data: {  count: 1,  arrs: [{
    'value': 1, 'customItem': ''}]},

    count: 1, 含义是某一项是从1开始的。

    arrs: [{'value': 1, 'customItem': ''}], 含义是template内会循环这个数组 arrs, 页面中默认有一项。

    2. 然后每次新增的时候,会调用newadd方法:

    newadd() {  this.count++;  this.arrs.push({'customItem': '', 'value': this.count});},

    其中 customItem 可以理解为 v-model的每一项值,因此在我们提交的时候,我们只需要循环数组 this.arrs来判断第几行输入框input没有值,就提示下用户哪项没有值了。

    因此所有的代码如下:

          演示Vue            

    注意:查看github效果的时候,可以新增几项,然后可以留几项不输入任何值,直接点击提交按钮,会弹出第几行输入框的值没有填写了;我们也可以在控制台中打印出 this.arrs 的值。

    转载于:https://www.cnblogs.com/tugenhua0707/p/8712456.html

    你可能感兴趣的文章
    【web技术】html特效代码(一)
    查看>>
    SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
    查看>>
    高可用集群搭建
    查看>>
    Lua学习笔记
    查看>>
    Redis监控工具,命令和调优
    查看>>
    zabbix-mysql迁移分离
    查看>>
    jQuery调用WCF 说明
    查看>>
    算法第5章作业
    查看>>
    7.9 练习
    查看>>
    基于ArcGIS JS API的在线专题地图实现
    查看>>
    learnByWork
    查看>>
    Unity3D热更新之LuaFramework篇[04]--自定义UI监听方法
    查看>>
    lua 函数
    查看>>
    Git的基本命令
    查看>>
    四平方和
    查看>>
    第十八周 12.27-1.2
    查看>>
    C# IP地址字符串和数值转换
    查看>>
    TCHAR和CHAR类型的互转
    查看>>
    常用界面布局
    查看>>
    C语言—— for 循环
    查看>>