鍍金池/ 問(wèn)答/HTML/ Vue v-for雙重嵌套,刪除子循環(huán)的Div,保留父循環(huán)的Div?

Vue v-for雙重嵌套,刪除子循環(huán)的Div,保留父循環(huán)的Div?

現(xiàn)在我是有雙重for循環(huán),目的是刪除雙重循環(huán)里,子循環(huán)的div(也就是下圖的序號(hào))。但是如何獲取到labels,并刪掉它的div呢?

HTML代碼:
<div id="dangerOperateDiv">

    <div v-for="(d,index) in dangerOperate">
        <div class="layui-row" style="margin-top:8px;">
            <div class="layui-col-md12">
                <div class="layui-col-md3">
                    <div class="layui-col-md5">
                        <label class="layui-form-label" style="line-height:10px;float:right;">操作程序</label>
                    </div>
                </div>
            </div>
        </div>
        <div class="layui-row queryCriteria" style="margin-top:8px;">
            <div class="layui-col-md12">
                <div style="width:28%;float:left;">
                    <div style="float:left;position:relative;">
                        <input type="text" class="layui-input" style="width:227px;height:28px;position:relative;float:left;margin-left: 50px" v-model="d.name">
                        <div class="closeCircle" v-on:click="delThis(index)">
                            X
                        </div>
                    </div>
                    <div v-on:click="showNext(index)" style="float:left;">
                        <i class="layui-icon showIcon"
                           style="font-size: 20px; color: rgb(146,146,146);margin-left: 5px">&#xe65f;</i>
                    </div>
                </div>
                <div v-show="d.isShow == true" style="background:rgba(200,200,200,0.5);width:72%;float:left;">
                    <div style="float:right;position:relative;z-index: 99">
                        <div class="closeCircle" v-on:click="delThat(index)">
                           X
                        </div>
                    </div>
                    <div v-for="(label,index) in d.labels">
                    <div class="layui-row layui-col-md12" style="background:#ffffff;border:1px solid #dcdcdc">
                        <div class="layui-col-md3" style="float: left;margin-top: 10px;height: 40px;">
                            <div class="layui-col-md4">
                                <label class="layui-form-label" style="line-height: 10px;float: left;margin-left: -40px;" >序號(hào)</label>
                            </div>
                            <div class="layui-col-md8">
                                <input type="text" class="layui-input" style="width: 100%; height: 28px;" v-model="label.orderNumber">
                          ......





    var dangerOperateDiv=new Vue({
        el: '#dangerOperateDiv',
        data: {
            dangerOperate: [
                {
                    name: "",
                    labels: [
                        {
                            orderNumber:"",
                            name:"",
                            event:"",
                            desc:"",
                            step:"",
                            isShowLast:false
                        }
                    ],
                    isShow:false
                }
            ],
        },
        methods: {
            delThis: function (index) {
                if(dangerOperateDiv.dangerOperate.length > 1){
                    this.dangerOperate.splice(index,1);
                }else{
                    layer.open({
                        title: '提示信息',
                        content: '至少有一條操作程序信息'
                    });
                }
            },
            delThat: function (index) {
                if(dangerOperateDiv.dangerOperate.labels.length > 1){//這里是有問(wèn)題的
                    this.dangerOperate.labels.splice(index,1);
                }
            }
        },
    })
    
    
  

圖片描述

回答
編輯回答
朕略傻
    <div v-for="(parent, pIdx) in parentList">
        <label for="">{{parent.label}}</label>
        <div v-for="(child, cIdx) in parent">
            <label for="">{{child.label}}</label>
            <div @click="deleteDiv(pIdx, cIdx)">刪除</div>
        </div>
    </div>


    methods: {
        deleteDiv (pIdx, cIdx) {
            this.parantList[pIdx].splice(cIdx, 1)
        }
    }
2017年3月11日 10:39