zoukankan      html  css  js  c++  java
  • 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&#45;&#45;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&#45;&#45;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&#45;&#45;icon m-btn&#45;&#45;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
  • 相关阅读:
    PhpStorm 全文搜索快捷键(ctrl+shift+f)被占用 的解决办法
    IDEA phpstorm插件CamelCase 【大小写,下划线,驼峰,首字母大写等转化工具】
    php foreach中&注意事项
    PHP7 ?:和??的区别
    PHP中类似$a && $b = $c 语法的用法和实例
    docker 运行dnmp 的php项目 『cURL』curl: (6) Could not resolve host 问题解决方案
    Redis规范整理
    Windows 10桌面美化-任务栏透明StartlsBack工具
    docker容器封装redis 挖矿病毒kdevtmpfs的处理
    ubuntu安装 docker-compose
  • 原文地址:https://www.cnblogs.com/shuaifing/p/10292737.html
Copyright © 2011-2022 走看看