element-ui 生成動態表單
阿新 • • 發佈:2021-06-23
html:
<el-select v-model="value" filterable placeholder="請輸入關鍵詞" :loading="loading" @change="select"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select>
<el-card class="box-card" v-for="(item,index) in makeData" :key="index"> <!-- <div #header class="clearfix"><span>{{item.formName}}</span></div> --> <el-form :inline="true" :ref="item.formRef" :model="item.formModel" class="demo-form-inline"> <el-form-item label="審批人" prop='user' :rules="[{ required: true, message: '審批人不能為空'}]"> <el-input v-model="item.formModel.user" placeholder="審批人"></el-input> </el-form-item> <el-form-item label="區域" prop='region' :rules="[{ required: true, message: '區域不能為空'}]"> <el-input v-model="item.formModel.region" placeholder="審批人"></el-input> </el-form-item> </el-form> </el-card>
script:
data () { return { options: [{ value: '1', label: '控制飛行時間' }, { value: '2', label: '控制飛行起落' }, { value: '3', label: '控制日曆時間' }], makeData: [{ formRef: 'formFirst', // 表單ref formModel: { user: '', region: '' }, // 表單model formName: '表單A' // 表單標題 }, { formRef: 'formSecond', formModel: { user: '', region: '' }, formName: '表單B' }, { formRef: 'formThird', formModel: { user: '', region: '' }, formName: '表單C' }] } },methods:{ select(val){ if(val==='1'){ varobj={ formRef:'planeTime',//表單ref formModel:{user:'',region:''},//表單model formName:'控制飛行時間'//表單標題 } this.makeData.push(obj) } } }