<template> <div> <a-row v-for="(item, index) in specList" :key="'specList'+index" type="flex"> <a-col :span="20"> <div class="special-middle"> <div> <a-form-model-item :prop="'specList.' + index + '.specId'" :rules="{ required: true, message: '*', trigger: 'change',}"> <cascader-select v-model="item.specId" /> </a-form-model-item> </div> </div> </a-col> <a-col :span="2"> <div class="special-middle"> <a-popconfirm title="确定要删除吗?" ok-text="确定" cancel-text="取消" @confirm="removeArray(item)"> <a-button type="link" size="small">[删除]</a-button> </a-popconfirm> </div> </a-col> </a-row> <a-row type="flex"> <a-col :span="24" style="text-align: center;"> <div class="special-middle"> <a-button type="dashed" style="width: 50%" @click="addArray"> <a-icon type="plus" /> 添加 </a-button> </div> </a-col> </a-row> </div> </template> <script> const Model = {} import cascaderSelect from '@/views/components/common/cascaderSelect' export default { name: 'specSelect', components: { cascaderSelect }, data () { return { } }, props: { specList: { type: Array, default () { return [] } }, }, created () { }, methods: { addArray () {//添加成员 if (this.specList.length >= 3) { this.$message.error('最多只能添加三个评审专业!') } else this.specList.push({ ...Model }) }, removeArray (item) {//移除成员 let index = this.specList.indexOf(item) if (index !== -1) { this.specList.splice(index, 1) } }, }, } </script>