使用el-dialog内嵌表单时候,发现表单重置失效,点击不同的数据,表单默认值不会发生改变。
解决办法
利用v-if重新渲染元素的特点,给el-dialog加上v-if
<el-dialog class="addForm" title="添加" @close="reset" :visible.sync="dialogFormVisible" v-if="dialogFormVisible">
<el-form ref="formName" class="formName" method='POST'>
<template v-for="(eachFormObj, eachFormIndex) in forms.formdata">
<el-row :key="`row-${eachFormIndex}`">
<div class="wrapper--forms">
<el-col v-for="(field, index) in eachFormObj.fields" :key="index" :span="field.span" v-bind="field" class="form__group">
<component :is="field.fieldType" :currentField="field" class="form__field" @updateform="updateform">
</component>
</el-col>
</div>
</el-row>
</template>
<el-divider key="lastline"> 请核对上列内容 </el-divider>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" class="submit" fmd="fmdbtn" >确 定</el-button>
<el-button @click="dialogFormVisible = false" class="submit">取 消</el-button>
</div>
</el-dialog>