当前位置: 首页 > news >正文

互联网培训学校哪个好长沙 建站优化

互联网培训学校哪个好,长沙 建站优化,高端产品网站建设,工业设计网站设计一、背景 需求:在列表中添加定期出账的开关按钮,点击开关时,原来的状态不改变,弹出弹窗;点击弹窗取消按钮:状态不改变,点击弹窗确定按钮:状态改变,并调取列表数据刷新页…

一、背景

需求:在列表中添加定期出账的开关按钮,点击开关时,原来的状态不改变,弹出弹窗;点击弹窗取消按钮:状态不改变,点击弹窗确定按钮:状态改变,并调取列表数据刷新页面

二、具体实现

使用element  el-switch开关,具体用法可查看官方指引

官网指引:Element - The world's most popular Vue UI framework

<template slot-scope="scope"><el-switch@change="openSwitch($event, scope.row)"v-model="scope.row.regularlyBill"active-color="#6CD354":active-value="'1'":inactive-value="'0'"></el-switch>
</template>
methods: {/**更改开关状态 val=1是打开时  val=0是关闭时 */openSwitch(val, row) {if(val == 0){this.$Remind({title:'关闭之后,自动出账将失效,但仍可进行手工操作出账,确定要关闭吗?'}).then(()=>{this.isLoading = true;this.changeResultBill(row) //调取接口更改开关状态})}else{this.$Remind({title:'确定要开启自动定期出账吗?'}).then(()=>{this.isLoading = true;this.changeResultBill(row) //调取接口更改开关状态})}},//修改开关状态changeResultBill(row){let params = {id:row.id,regularlyBill:row.regularlyBill}this.$http.post(this.$url.lifebill.updateRegularlyBill,params).then(res=>{this.isLoading = false;if(res.code == 0){this.$message.success(res.msg)this.getDateTemplatePage(); //调取列表接口刷新页面}})},
}

备注: 

①this.$Remind是自定义封装的弹窗,弹窗组件在element上也有,具体选择按需求为主

②v-model:是数据绑定值,实现数据双向绑定;active-color:switch 打开时的背景色;active-value:switch 打开时的值;inactive-value:switch 关闭时的值

三、效果展示

四、踩坑记录

4.1、问题描述

问题1:点击打开或关闭按钮,弹窗还未点击确定,开关的状态已经先改变了

问题2:点击弹窗取消按钮,开关状态也是变化后的状态,开关状态应不改变

4.2、原因分析并解决

原因:v-model 实现数据双向绑定,点击开关时状态就实时发生变化

解决:将v-model改成:value="",再赋值即可。调取更改开关状态的接口时也传递状态值

4.3、更改后的代码

<template slot-scope="scope">
<!-- 更改前 v-model="scope.row.regularlyBill" --><el-switch@change="openSwitch($event, scope.row)"v-model="scope.row.regularlyBill"active-color="#6CD354":active-value="'1'":inactive-value="'0'"></el-switch>
</template>
methods: {/**更改开关状态 val=1是打开时  val=0是关闭时 */openSwitch(val, row) {if(val == 0){this.$Remind({title:'关闭之后,自动出账将失效,但仍可进行手工操作出账,确定要关闭吗?'}).then(()=>{this.isLoading = true;//this.changeResultBill(row) //更改前--调取接口更改开关状态this.changeResultBill(val,row) //更改后--调取接口更改开关状态,并传入开关状态的值}).catch(()=>{this.$message.error("取消了关闭操作"); //增加了取消按钮的弹窗提示})}else{this.$Remind({title:'确定要开启自动定期出账吗?'}).then(()=>{this.isLoading = true;//this.changeResultBill(row) //更改前--调取接口更改开关状态this.changeResultBill(val,row) //更改后--调取接口更改开关状态,并传入开关状态的值}).catch(()=>{this.$message.error("取消了开启操作"); //增加了取消按钮的弹窗提示})}},//修改开关状态changeResultBill(val,row){let params = {id:row.id,//regularlyBill:row.regularlyBill //更改前regularlyBill:val //更改后}this.$http.post(this.$url.lifebill.updateRegularlyBill,params).then(res=>{this.isLoading = false;if(res.code == 0){this.$message.success(res.msg)this.getDateTemplatePage(); //调取列表接口刷新页面}})},
}

4.4、bug修复后的效果

最终:

点击开关状态不变,弹出弹窗;点击弹窗取消按钮:开关状态不变,并给与取消提示;点击弹窗确定按钮:状态改变,并调取列表数据刷新页面

 最后:👏👏 😀😀😀 👍👍 

http://www.mnyf.cn/news/49507.html

相关文章:

  • 贵州 网站建设百度推广怎么弄
  • 使用织梦系统建设网站百度知道首页官网
  • 蚌山网站建设seo网站优化系统
  • 做电影网站哪个系统好北京网站优化方法
  • 高端网站建设 来磐石网络惠州seo关键字优化
  • 企业网站设计请示免费发布信息的网站平台
  • 网站建设说课ppt短视频拍摄剪辑培训班
  • 外贸网站建设经验百度知道电脑版网页入口
  • 深圳模板网站建设怎么进行网站推广
  • 网站 主营业务seo入门教程视频
  • wordpress教程全集(入门到精通)如何做好网站推广优化
  • 有哪些做婚礼平面设计的网站有哪些网站关键字优化技巧
  • diango是做网站的后端吗长沙百度网站排名优化
  • jquery 网站缩放百度信息流是什么
  • 怎么在网站备案号码上加一个工信部链接地址泰州网站排名seo
  • 2017 如何做网站优化天津最新消息今天
  • wordpress投票系统孝感seo
  • 评价一个网站的好坏如何注册网站免费注册
  • 政府网站方案书佛山做网站建设
  • 山西做网站优势广州百度推广客服电话多少
  • 温州网站开发定制搜索引擎优化seo的英文全称是
  • 聊城网站开发培训下载安装百度
  • 自己怎样制作公司网站郑州优化网站公司
  • 佛山网站建设外包公司如何设计与制作网页
  • 网站建设工作目标免费刷seo
  • 管理网站模板下载免费下载域名权重是什么意思
  • 阜阳网站建设公司建什么网站可以长期盈利
  • 网站规划与设计方向视频广告
  • 淘宝做轮播广告哪个网站好seo短期培训班
  • 网站怎么做交易最新seo网站优化教程