vue-element 对话框的使用?
弹出表单处理,很常见的场景。
一些简单的业务需求,可以直接通过对话框来完成。
直接看效果!
看实现代码,首先要有对话框的内容部分。
<el-dialog title="延迟审核" :visible.sync="dialogDelayFormVisible">
<el-form style="width:450px">
<el-form-item label="申请理由:">
{{ delayInfo.delay_apply_reason }}
</el-form-item>
<el-form-item label="原定完成时间:">
{{ delayInfo.pre_finish_time }}
</el-form-item>
<el-form-item label="申请完成时间:">
{{ delayInfo.delay_pre_finish_time }}
</el-form-item>
<el-form-item label="是否通过:">
<el-radio-group v-model="delayInfo.type">
<el-radio :label="1">是</el-radio>
<el-radio :label="2">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="回复内容:" v-if=" delayInfo.type == 2 ">
<el-input type="textarea" :autosize="{ minRows: 3, maxRows: 10 }" v-model="delayInfo.delay_check_result"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogDelayFormVisible = false">取 消</el-button>
<el-button type="primary" @click="handleDelayConfirm">确 定</el-button>
</div>
</el-dialog>
然后需要基础数据,
dialogDelayFormVisible: false,
delayInfo: {
id: undefined,
type:1,
pre_finish_time:'',
delay_pre_finish_time:'',
delay_apply_reason:'',
delay_check_result:'',
}
初始化数据,
handleDelay(row) {
this.dialogDelayFormVisible = true;
this.delayInfo.id = row.id;
this.delayInfo.delay_pre_finish_time = row.delay_pre_finish_time;
this.delayInfo.pre_finish_time = row.pre_finish_time;
this.delayInfo.delay_apply_reason = row.delay_apply_reason;
// 重置数据
this.delayInfo.type = 1;
this.delayInfo.delay_check_result = '';
}
提交表单,
handleDelayConfirm() {
console.log('confirm');
if (this.delayInfo.type == 2) {
if (this.delayInfo.delay_check_result == '') {
this.$message.warning("请填写原因");
return;
}
}
let _this = this;
checkDelayApply({ id: _this.delayInfo.id , type: _this.delayInfo.type , delay_check_result : _this.delayInfo.delay_check_result }).then(() => {
this.getStreetAssignList();
this.dialogDelayFormVisible = false;
this.$message.success("操作成功");
});
}
基本的思路就是,先画出对话框。当点击事件时,将对话框展示出来。进行一些表单操作。当点击确认的时候,将表单数据传到后台。处理完成之后,再将对话框关闭,同时页面从新获取最新的数据。非常的灵活,非常的方便。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-12-23 Ubuntu系统如何分区
2019-12-23 初始化一个yaf项目
2019-12-23 Linux安装yaf-3.0.X
2016-12-23 phpStorm如何在Console控制台执行php文本,而不是浏览器中
2016-12-23 软件测试知识之分类
2016-12-23 Java实现分页数据获取CachedRowSet