vue 弹窗

简介: 按钮 新增运力池 编辑点击按钮显示窗口addCapacity() { this.

按钮

 <div class="xe-addbtn-panel">
    <el-button type="primary" @click="addCapacity">新增运力池</el-button>
 </div>
 <el-button @click.native.prevent="edit(scope.row)" type="text" size="small">编辑</el-button>

点击按钮显示窗口

addCapacity() {
   this.formVisible = true;
    this.dialogTitle = '新增运力池';
},
edit(scope) {
    let id = scope.id;
    this.dialogTitle = '编辑运力池';
    let _this = this;
    _this.$http({
        method: 'POST',
        url: getHomeProjectLink().rmcApiBaseUrl + `/page/rmc/transpool/main/xxxx/${id}`
    }).then((res) => {
        console.log(res);
        _this.formVisible = true;
        _this.capacityForm = {
            'name': res.result.name,
            'effectiveTime': res.result.effectiveTime,
            'description': res.result.description,
            'id': id
        };
    }).catch((err) => {
        console.log(err);
    });
},
submitCapacity(form) {
this.$refs[form].validate((valid) => {
    if (valid) {
        let _this = this;
        if (_this.capacityForm.id === '') {
            _this.$http({
                method: 'POST',
                url: getHomeProjectLink().rmcApiBaseUrl + '/page/rmc/transpool/add/xxx',
                data: _this.capacityForm
            }).then((res) => {
                _this.formVisible = false;
                _this.queryData();
            }).catch((err) => {
                console.log(err);
            });
        } else {
            _this.$http({
                method: 'POST',
                url: getHomeProjectLink().rmcApiBaseUrl + '/page/rmc/transpool/modify/xxxx',
                data: _this.capacityForm
            }).then((res) => {
                _this.formVisible = false;
                _this.queryData();
            }).catch((err) => {
                console.log(err);
            });
        }
    }
});

窗体 html

<el-dialog title="窗口名称" :visible.sync="formVisible" @close="resetCapacity('capacityForm')" class="capacity">
            <el-form :model="capacityForm" :label-width="xeLabelWidth" ref="capacityForm" :rules="capacityRules">
                <el-form-item label="运力池" prop="name">
                    <el-input v-model.trim="capacityForm.name" class="xe-input3-col3"></el-input>
                </el-form-item>
                <el-form-item label="锁定时间(分钟)" prop="effectiveTime">
                    <el-input v-model.trim="capacityForm.effectiveTime" class="xe-input3-col3"></el-input>
                </el-form-item>
                <el-form-item label="描述信息" prop="description">
                    <el-input type="textarea" v-model.trim="capacityForm.description" class="xe-input3-col3"></el-input>
                </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footer">
                <el-button @click="formVisible = false">取 消</el-button>
                <el-button type="primary" @click="submitCapacity('capacityForm')">确 定</el-button>
            </div>
        </el-dialog>

备注

visible.sync 为true 就显示窗口 false关闭窗口 
@close="resetCapacity('capacityForm')"  关闭的时候要重置表单
目录
相关文章
|
7天前
|
JavaScript
vue中使用@scroll不生效的问题
vue中使用@scroll不生效的问题
|
1天前
|
JavaScript 算法 前端开发
vue学习(1)
vue学习(1)
189 62
|
1天前
|
JavaScript
vue学习(3)模板语法
vue学习(3)模板语法
23 10
|
1天前
|
存储 JavaScript 前端开发
vue学习(2)
vue学习(2)
180 63
|
2天前
|
JavaScript
vue键盘事件
vue学习(11)键盘事件
|
6天前
|
数据采集 JavaScript 搜索推荐
我们一起聊聊如何对Vue项目进行搜索引擎优化
【9月更文挑战第4天】Vue 项目的搜索引擎优化(SEO)较为复杂,因其内容默认由 JavaScript 渲染,部分搜索引擎难以索引。为提升 SEO 效果,可采用服务器端渲染(SSR)或预渲染,使用 Nuxt.js 或 Vue Server Renderer 实现 SSR,或利用 Prerender SPA Plugin 预渲染静态 HTML。此外,动态管理 Meta 标签、优化静态内容与 Sitemap、懒加载、图片优化、提升页面速度、设置正确的路由模式、使用结构化数据及构建良好外链均有益于 SEO。
40 11
|
5天前
|
JavaScript 前端开发 搜索推荐
推荐5款免费、开箱即用的Vue后台管理系统模板
推荐5款免费、开箱即用的Vue后台管理系统模板
|
7天前
|
缓存 JavaScript 前端开发
vue中使用keep-alive的问题
vue中使用keep-alive的问题
|
9天前
|
JavaScript 前端开发
VUE技术栈-Vue的基本使用
尹正杰在其博客中介绍了Vue.js框架,它是一个渐进式JavaScript框架,由尤雨溪开发,结合了AngularJS的模板语法和数据绑定以及React的组件化和虚拟DOM技术,适合构建高效、轻量化的用户界面。
23 4
|
10天前
|
缓存 JavaScript 容器
vue动态组件化原理
【9月更文挑战第2天】vue动态组件化原理
26 2