vue v-for 怎么多层解析?

废话不多说,上代码!

tableData: [
    {
        'id': '1',
        'insName': '手足口',
        'insCode': 'szk92',
        'insType': '主险',
        'cumInsItem': ['住院天数', '年度住院费用'],
        'insLiability': [
            {
                'entry': '等待期',
                'param': [
                    {
                        'desc': '30',
                        'unit': '天'
                    },
                    {
                        'desc': 'XXXX',
                        'unit': '字符串'
                    }
                ]
            },
            {
                'entry': '既往史',
                'param': [
                    {
                        'desc': '8',
                        'unit': '月'
                    },
                    {
                        'desc': 'abcdefg',
                        'unit': '字符串'
                    }
                ]
            }
        ],
        'handler': '张国平',
        'hanTime': '2017-08-21',
        'remark': 'xxxxxx'
    }
],
oriData: [
    {
        'entry': '',
        'param': [
            {
                'desc': '',
                'unit': ''
            }
        ]
    }
]

已赋值this.oriData = this.tableData.insLiability.slice(0),

<el-form-item label="险种责任" prop="insLiability">
    <div style="overflow: hidden;">
        <el-select
            style="width: 49.5%"
            class="pull-left"
            size="small"
            v-for="(opt, index) in this.oriData"
            :value="opt.entry"
            :key="opt.entry"
            placeholder="请选择险种责任">
            <el-option key="等待期" value="等待期">等待期</el-option>
            <el-option key="既往史" value="既往史">既往史</el-option>
        </el-select>
    </div>
    <div style="width: 49.5%; margin-left: 1%;" class="pull-left">
        <el-input
            size="small"
            v-for="item in this.oriData[index].param"
            :value="item.desc"
            :key="item.desc"
            placeholder="">
            <template slot="append">{{item.unit}}</template>
        </el-input>
    </div>
    

该怎么遍历?

阅读 3.4k
3 个回答

this.oriData = this.tableData.insLiability.slice(0),

你这句赋值可以成功吗?直接取一个数组里一项的值,不报错才有鬼呢。。。

关于v-for多层解析,你可以多层嵌套标签,只要v-for不是在同一个标签上就可以,不断通过item去取里边的数组里的数据

问题一: html 里面不用写this 直接 v-for="(opt, index) in oriData" 就好了
问题二: el-input 没有在第一个循环里面, v-for="item in this.oriData[index].param" 里面的index从哪里来

写的什么鬼,为毛有slice

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题