el-dialog怎么实现弹窗填写表单,然后把填写完的数据显示在页面上
时间: 2024-03-21 16:41:02 浏览: 198
可以通过以下步骤实现:
1. 在 el-dialog 中添加表单元素,如 el-form 和 el-form-item,并设置表单的属性和验证规则。
2. 给 el-dialog 中的确定按钮绑定事件,在事件处理函数中获取表单数据并进行处理。
3. 将处理后的数据显示在页面上,可以通过在页面中添加一个用于显示数据的元素,如 el-table,再将处理后的数据添加到 el-table 中即可。
具体实现代码可以参考以下示例:
```html
<template>
<div>
<el-button type="primary" @click="showDialog">打开弹窗</el-button>
<el-dialog :visible.sync="dialogVisible" title="表单弹窗" :close-on-click-modal="false">
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<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 type="number" v-model.number="form.age"></el-input>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="submitForm">确定</el-button>
</div>
</el-dialog>
<el-table :data="tableData" v-if="tableData.length">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
form: {
name: '',
age: ''
},
rules: {
name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
age: [{ required: true, message: '请输入年龄', trigger: 'blur' }]
},
tableData: []
}
},
methods: {
showDialog() {
this.dialogVisible = true
},
submitForm() {
this.$refs.form.validate(valid => {
if (valid) {
this.tableData.push({
name: this.form.name,
age: this.form.age
})
this.dialogVisible = false
}
})
}
}
}
</script>
```
在上述代码中,el-form 和 el-form-item 是用于创建表单的元素,el-button 是用于触发打开弹窗的按钮,el-dialog 是用于弹出表单填写弹窗的元素,el-table 是用于显示数据的元素。
通过在 el-dialog 中添加表单元素,再在 el-dialog 的确定按钮绑定事件中获取表单数据,最后将处理后的数据添加到 el-table 中,实现了弹窗填写表单并显示在页面上的功能。
阅读全文