vue中动态添加div

知识点: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

原文地址:https://www.cnblogs.com/shuaifing/p/10292737.html

时间: 2024-11-01 13:55:20

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

vue中动态添加class类名的方法

<template> <div> <h2>动态添加类名</h2> <!-- 第一种方式:对象的形式 --> <!-- 第一个参数 类名, 第二个参数:boolean值 --> <!-- 对象的形式: 用花括号包裹起来,类名用引号, --> <!-- 优点: 以对象的形式可以写多个,用逗号分开 --> <p :class="{'p1' : true}">对象的形式(文字的颜色)&l

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

动态添加div及对应的js.css文件 在近期的项目开发中需要在首页中添加很多面板型的div,直接加载代码显得很繁琐,于是利用js封装一个动态添加div及其对应css文件和js文件的方法供大家参考使用. /*利用Jquer动态加载div及对应的CSS文件.js文件.好处减少Index页面中代码的冗余,方便维护*/ /** *config参数说明: var config = { name: 'demo2', ***需要添加的div的html文件名称 divContainer: 'div2',***

android 在布局中动态添加控件

第一步 Java代码 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 Java代码 final LinearLayout lin = (LinearLayout) findViewById(R.id.LinearLayout01); 第三步:获取需要添加的布局(控件) Java代码 LinearLayout layout = (LinearLayout) inflater.inflate( R

Android 在布局容器中动态添加控件

这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉已有的控件 3.使用,来个小demo就明白了 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save

在CFormView或对话框中动态添加CScrollView、CFormView

在CFormView或对话框中动态添加CScrollView.CFormView 本代码可以在CFormView中,根据事先画好的控件位置创建CScrollView 也可以在CDialog中创建CScrollView.CFormView等 注: 若以下代码放在CMainRightView::OnCreate(LPCREATESTRUCT lpCreateStruct)内,则GetDlgItem()函数将调用失败,因为此时控件都还未被创建! void CMainRightView::OnIniti

Android在布局中动态添加view的两种方法

一.说明 添加视图文件的时候有两种方式:1.通过在xml文件定义layout:2.java代码编写 二.前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下LayoutInflater类.这个类最主要的功能就是实现将xml表述的layout转化为View的功能.为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同的是findViewById()是找xml布局文件下的具体widget控件实例化,而LayoutI

html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感)

html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感) 效果图: 运行原理和技术: 当页面加载完毕,利用jquery向后台发送ajax请求,去后台拼接<select></select>中的option字符串.让后将字符串响应回来,动态添加到<select>中.其中的字符串中包含了后台的数据. 页面js代码: 1 <script type="text/javascript"> 2 //加载部门 3 function loa

ASP.NET中Literal控件的使用方法(用于向网页中动态添加内容)

原文:https://www.jb51.net/article/82855.htm 可以将 Literal 控件用作网页上其他内容的容器.Literal 控件最常用于向网页中动态添加内容.简单的讲,就是可以把 HTML 代码写到 Literal 控件上,直接呈现出来. 一.常见Literal属性 属性 描述 Text 指定 Literal 控件中显示的文本.在用户的浏览器中,这会显示为 HTML. Mode 指定控件如何处理添入其中的标记. 二.基础用法 前台 LiteralTest.aspx

如何获取jQuery中动态添加的元素

一.问题描述 用jQuery的append()方法动态添加了一段html代码之后,发现在为新添加的元素绑定click事件时无法获取该新元素. 二.解决方法 度娘推荐的方法基本是用live()方法 live()的官方定义和用法: live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素). live()的详细使用方法可以查看jQuery live() live()和