vue element 表单动态生成
时间: 2023-09-06 22:02:07 浏览: 110
vue-form-maker:Vue 表单生成器——动态生成表单组件
5星 · 资源好评率100%
Vue Element 表单动态生成是指通过Vue和Element UI库来实现表单的动态生成和渲染的功能。
在Vue中,可以使用v-for指令结合数组或对象来循环渲染表单元素,实现动态生成表单。
首先,需要定义一个数据对象来存储表单项的信息,例如表单项的类型、名称、默认值等。然后,在Vue的模板中使用v-for指令来遍历数据对象,根据表单项的类型不同,使用Element UI提供的不同的表单组件来渲染对应的表单元素。
示例代码如下:
在Vue的data中定义表单项的信息:
data() {
return {
formItems: [
{ type: 'input', label: '姓名', value: '' },
{ type: 'select', label: '性别', value: '', options: ['男', '女'] },
{ type: 'datepicker', label: '生日', value: '' }
]
}
}
在Vue的模板中使用v-for遍历表单项并渲染表单元素:
<el-form ref="form" :model="form" label-width="80px">
<el-form-item v-for="item in formItems" :label="item.label" :key="item.label">
<template v-if="item.type === 'input'">
<el-input v-model="form[item.label]" placeholder="请输入姓名"></el-input>
</template>
<template v-if="item.type === 'select'">
<el-select v-model="form[item.label]" placeholder="请选择性别">
<el-option v-for="option in item.options" :key="option" :label="option" :value="option"></el-option>
</el-select>
</template>
<template v-if="item.type === 'datepicker'">
<el-date-picker v-model="form[item.label]" type="date" placeholder="请选择生日"></el-date-picker>
</template>
</el-form-item>
</el-form>
这样,通过循环遍历表单项数据对象,动态生成对应的表单元素,实现了表单的动态生成和渲染。
阅读全文