vue-element弹框和表单相结合
时间: 2023-08-01 19:07:17 浏览: 91
可以使用 Vue.js 和 Element UI 库来实现弹框和表单的结合。具体步骤如下:
1. 在 Vue.js 中引入 Element UI 库,可以使用 npm 或者直接在 HTML 页面中引入。
2. 创建一个包含表单的弹框组件,可以使用 Element UI 中的 Dialog 组件作为弹框容器,使用 Form 组件作为表单容器。
3. 在弹框组件中定义表单的数据模型和验证规则,可以使用 Vue.js 中的 data 和 rules 属性。
4. 在弹框组件中使用 Element UI 中的 Input、Select 等组件来实现表单项。
5. 在弹框组件中定义保存表单数据的方法,可以使用 Vue.js 中的 methods 属性,通过调用后端接口将数据保存到数据库中。
6. 在需要弹出表单的地方,可以使用 Element UI 中的 Button 组件,在点击事件中调用弹框组件来显示弹框。
示例代码如下:
```html
<template>
<el-button type="primary" @click="showDialog">添加</el-button>
<el-dialog title="添加用户" :visible.sync="dialogVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="80px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age"></el-input>
</el-form-item>
<el-form-item label="性别" prop="gender">
<el-select v-model="form.gender">
<el-option label="男" value="male"></el-option>
<el-option label="女" value="female"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="saveForm">保存</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
form: {
name: '',
age: '',
gender: ''
},
rules: {
name: [
{ required: true, message: '姓名不能为空', trigger: 'blur' }
],
age: [
{ required: true, message: '年龄不能为空', trigger: 'blur' },
{ type: 'number', message: '年龄必须为数字', trigger: 'blur' },
{ min: 1, max: 150, message: '年龄范围为1~150岁', trigger: 'blur' }
],
gender: [
{ required: true, message: '性别不能为空', trigger: 'blur' }
]
}
}
},
methods: {
showDialog() {
this.dialogVisible = true;
},
saveForm() {
this.$refs.form.validate(valid => {
if (valid) {
// 调用后端接口保存表单数据
console.log('保存表单数据', this.form);
this.dialogVisible = false;
} else {
console.log('表单验证失败');
}
});
}
}
}
</script>
```
阅读全文