知识点:vue中动态添加div节点,点击添加,动态生成div,点击删除,删除对应的div,其中数组的长度是动态改变的,如在from表单中应用,直接在提交方法中,获得list,获取所填的元素即可

效果

核心代码说明(样式代码可自行修改,详细代码请参照源码)

<div v-for="(v,i) in list">
<div class="form-group m-form__group row" style="padding-top: 15px;padding-bottom: 15px;">
<label class="col-form-label col-lg-2 col-sm-12">联系人类型 <span
style="color: #F00">*</span>
</label>
<div class="col-lg-3">
<select class="form-control m-input--fixed"
v-model="list[i].contactType">
<option v-for="option in contacttype_arr"
v-bind:value="option.id">{{ option.typename}}
</option>
</select>
</div >
<label class="col-form-label col-lg-2 col-sm-12"> 数量<span
style="color: #F00">*</span></label>
<div class="col-lg-3">
<input type="text" v-model="list[i].number"
class="form-control m-input--fixed"
placeholder=""/>
</div>
<div class="col-lg-2">
<div data-repeater-delete="" v-on:click="deleteNode(i)" style="margin-left: 35px;"
class="btn-sm btn btn-danger m-btn m-btn--icon m-btn--pill">
<span>
<span> 删除 </span>
</span>
</div>
</div>
</div>
</div>
<div class="m-form__group form-group row">
<label class="col-lg-4 col-form-label">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
<div class="col-lg-4" v-on:click="addNode()">
<div data-repeater-create="" style="text-align: center"
class="btn btn btn-sm btn-brand m-btn m-btn--icon m-btn--pill m-btn--wide">
<span>
<span> 添加 </span>
</span>
</div>
</div>
</div>

<script>
new Vue({
el: '#app',
data: {
contacttype_arr:[
{id: 1, typename: '家人'},
{id: 2, typename: '朋友'},
{id: 3, typename: '同事'}
],
//联系人类型数组
list:[
{contactType: '', number: ''}
],
},
//初始化方法
mounted:function () { },
methods: { //添加标本div
addNode:function() {
this.list.push({contactType: '', number: ''});
},
//删除样本div
deleteNode:function(i) {
this.list.splice(i,1); //删除index为i,位置的数组元素
}
}
})
</script>
源码链接:https://github.com/shuaishuaihand/vuedynamicdivdemo.git

vue中动态添加div的更多相关文章

  1. 周记4——vue中动态添加图片无效、build上线后background-image路径问题

    又是一个周五,又一周要过去了...很开心,这周遇到了vue中的一个比较常见的坑,网上随便一搜就有了很多解决方案...“幸运”的是,我选了一个带坑的方案...所以我觉得有必要记录一下这个“坑中坑”... ...

  2. Vue 中动态添加class(使用v-bind:class)

    今天在Vue中动态修改类名,元素的样式就是不改变,类名也没有加上去,里面的问题具体我还是不太清楚,有可能是因为自己不认真,把 :class= 后面的内容的格式给整错了,下面将正确的做法记录一下,便于以 ...

  3. Vue中动态添加多个class

    vue中可以通过 :class=""这样来根据一定的条件来动态添加class,但是有时候需要判断的条件比较多,需要动态添加的class也比较多,这个时候其实也很简单 先看一下示例: ...

  4. vue向数组中动态添加数据

    vue中数据更新通过v-model实现,向数组中添加数据通过push()实现,向shortcuts数组中动态添加newShortcut对象中的title和action this.shortcuts.p ...

  5. 后盾网lavarel视频项目---vue实现动态添加和删除板块

    后盾网lavarel视频项目---vue实现动态添加和删除板块 一.总结 一句话总结: 原理就是:列表时根据vue中的videos变量中的元素来遍历的,初始时videos:[{title:'',pat ...

  6. vue中动态引入图片为什么要是require, 你不知道的那些事

    相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所 ...

  7. js动态添加Div

    利用JavaScript动态添加Div的方式有很多,在这次开发中有用到,就搜集了一下比较常用的. 一.在一个Div前添加Div <html> <body> <div id ...

  8. JavaScript 动态添加div 绑定点击事件

    1.动态添加div function cDiv(num){ var oDiv=document.createElement("div"); oDiv.className='divs ...

  9. 动态添加div及对应的js、css文件

    动态添加div及对应的js.css文件 在近期的项目开发中需要在首页中添加很多面板型的div,直接加载代码显得很繁琐,于是利用js封装一个动态添加div及其对应css文件和js文件的方法供大家参考使用 ...

随机推荐

  1. ntpdate自动对准时间的脚本

    author:headsen  chen date: 2018-10-09  19:50:15 #!/bin/bash yum -y install ntpdate /usr/sbin/ntpdate ...

  2. puremvc TS源码 (未测试...)

    根据as的puremvc修改的,尚未具体测试.... https://files.cnblogs.com/files/gamedaybyday/puremvc_ts.rar 补充一个小游戏puremv ...

  3. 不同linux下两网卡绑定方法

    记得原来在做性能测试时,为了提高网络吞吐率.必须将两个网卡绑定一起工作.绑定方法如下: 一.CentOS 配置   1.编辑虚拟网络接口配置文件,指定网卡IP: # vi /etc/sysconfig ...

  4. spring低版本报错:java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class [*] are only available on

    参考来源:http://blog.csdn.net/sunxiaoyu94/article/details/50492083 使用spring低版本(2.5.6),使用jre 8发现错误: Unexp ...

  5. Why do some system users have /usr/bin/false as their shell? What's the difference between /sbin/nologin and /bin/false

    https://www.quora.com/How-can-bin-true-and-bin-false-Linux-utilities-be-used MySQL :: MySQL 8.0 Refe ...

  6. Mybatis解决sql中like通配符模糊匹配 构造方法覆盖 mybits 增删改

    <select id="getRecByNameWildcard" parameterType="Student" resultMap="res ...

  7. Python的Flask框架应用调用Redis队列数据的方法

    转自:http://www.jb51.net/article/86021.htm 任务异步化 打开浏览器,输入地址,按下回车,打开了页面.于是一个HTTP请求(request)就由客户端发送到服务器, ...

  8. Buy Tickets---poj2828(线段树)

    题目链接:http://poj.org/problem?id=2828 题意就是有n个x y每次都是把y放到x位置,如果x位置有数,则把该位置之后的数往后放一位: [题解]: 线段树节点中保存这一段中 ...

  9. Puppet学习:Augeas的怪问题

    今天测试部署Zabbix,本来以前是正常的,今天莫名其妙报错.测试后发现是Augeas出现问题,无论如何都不执行.于是采用调试模式: puppet agent --test --verbose --d ...

  10. 深入理解Docker容器执行引擎runC

    1 简介 根据官方的定义:runC是一个根据OCI标准创建并运行容器的CLI tool. Docker就是基于runC创建的,简单地说,runC就是docker中最为核心的部分,容器的创建,运行,销毁 ...