Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mpvue编辑页返回前页面时编辑页输入的数据不自动清空的bug

mpvue编辑页返回前页面时编辑页输入的数据不自动清空的bug

作者头像
薛定喵君
发布于 2020-01-08 02:28:30
发布于 2020-01-08 02:28:30
1.2K00
代码可运行
举报
文章被收录于专栏:薛定喵君薛定喵君
运行总次数:0
代码可运行

记录下mpvue框架下做数据编辑页时出现的bug处理方法

结合网上搜索到的一些处理方法在此重新整理一番

# 现象

步骤 1.编辑页面输入数据 2.点击左上角返回按钮 3.再次进入编辑页面 结果发现第1步输入的数据仍然显示在页面上,数据没有被清空

# 解决方法

# 编辑数据存在于非tab页的情况

网友的方法 1.mounted时执行重置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mounted () {
	Object.assign(this.$data, this.$options.data())
}

2.onLoad时执行重置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onLoad () {
	Object.assign(this.$data, this.$options.data())
}

测试有效,可以发现编辑页的数据被成功重置

# 编辑数据存在于tab页的情况

博主最近做的页面是登录后跳转首页(tab页),首页会显示数据列表及一个添加按钮(点击后弹出编辑模态框) 此时比较特殊,网友提供的在mounted/onLoad函数中重置的方法在这时就不适用了。

方法缺陷: vue的create,mounted等生命周期钩子函数只执行一次,当组件创建并被挂载到DOM上以后,就不会执行了,所以这就导致在上述小程序场景中我们左右切换tab页时模态框中的输入值并没有被清空。 这种方法不适用于tab页。

如何改进? 我们已经知道这个问题根源在于mounted只执行一次,所以只要把重置代码放入onShow钩子函数中就可以了 每次页面显示后再重置数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onShow() {
  Object.assign(this.$data, this.$options.data())
  this.init()//页面数据初始化
},

测试可以发现数据被成功重置

# 总结

  • 新开非tab页时通过onLoad/mounted/onUnload重置
  • 新开tab页时onLoad/mounted只会执行一次,需要通过onShow重置
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2020年,vue面试遇到的问题(中)
具体操作:监听你想点击后不会丢失 input 焦点的那个元素的 mousedown 事件,回调里面调用 event.preventDefault(),会阻止使当前焦点丢失这一默认行为。
桃翁
2020/03/13
1.9K0
记一次mpvue开发完整小程序相关笔记
这是一篇历史笔记,写于9102年初,记录mpvue开发的相关坑点和常用技巧,大佬们勿喷...
Sneaker-前端公虾米
2021/12/23
7480
记一次mpvue开发完整小程序相关笔记
vue全家桶开发的一些小技巧和注意事项
用vue全家桶开发一年多了,踩过不少坑,也解决了很多的问题,把其中的一些点记录下来,希望能帮到大家。以下内容基于最新版的vue + vuex + vue-router + axios + less + elementUI,vue脚手架是vue-cli3。
Nealyang
2019/10/14
2.5K0
vue全家桶开发的一些小技巧和注意事项
Object.assign(this.$data, this.$options.data())-vue清空数据
vue中,如果我们需要对vue里面的data数据重置,一个一个数据重置非常麻烦,那么一个更为简单高效的写法如下:
五月
2022/11/15
1K0
Vue音乐播放器
参数: {Object} options 用法: 使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。它的目的是创建一个Vue的子类并且返回相应的 constructor。 data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数
conanma
2021/11/03
3.1K0
vue和微信小程序的区别
vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩子并不一样。
IT工作者
2022/02/22
1.4K0
前端-vue 和微信小程序的区别、比较
写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别。
grain先森
2019/03/28
1.6K0
前端-vue 和微信小程序的区别、比较
重置vue组件的data数据 this.$options.data() 重置
我们通常使用element-ui form表单组件时 点击表单重置按钮清空form表单数据
xyzzz
2020/11/27
7.1K0
只会Vue怎么开发小程序?Vue和微信小程序的到底有哪些区别?
写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别。
Tz一号
2020/09/10
1.7K0
前端面试题 --- Vue部分
转载链接:https://blog.csdn.net/qq_54753561/article/details/122149197
用户8087287
2022/10/31
2K0
前端面试题 --- Vue部分
Vue生命周期(11个钩子函数)「建议收藏」
component : 内置组件,根据is属性来显示对应的组件;is属性的属性值保持和组件名字一致;然后可以显示对应的组件
全栈程序员站长
2022/07/22
6.4K1
Vue生命周期(11个钩子函数)「建议收藏」
前端面试题Vue答案
1.vue的原理? image.png 关键词: 虚拟DOM树+访问器属性 解释一下:响应式原理? 当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历
酷走天涯
2021/03/04
2.4K0
小程序赖加载刷新数据页面数据堆叠问题debug
某高校大一新生入学,学校的综合服务站小程序上传文件的列表支撑前端页面支撑不了成千上万条的渲染。
淼学派对
2023/10/14
2770
SSM 单体框架 - 前端开发:用户和权限模块
在查询条件中使用了 Element UI 中的日期选择器:https://element.eleme.cn/#/zh-CN/component/date-picker#mo-ren-xian-shi-ri-qi
RendaZhang
2020/10/09
1.7K0
SSM 单体框架 - 前端开发:用户和权限模块
mpvue开发小程序过程中遇到的问题
原生小程序开发方式与vue有些类似,所以用过vue的前端er会很容易上手。但是原生的开发体验实在糟糕,在前端组件化的今天用原生开发组件显得很无力。对于习惯vue开发方式的前端er来说mpvue再合适不过了。mpvue可以将H5代码打包成小程序代码,目前mpvue还做不到一套代码多端运行(毕竟各个端有自己的差异性,小程序没有document和window,所以那些第三方移动端组件库并不能适用于小程序),但是已经大大减少了开发的工作量。
javascript.shop
2019/09/04
2.1K0
mpvue开发小程序过程中遇到的问题
2022 最新 Vue 3.0 面试题
Vue 作为一款轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟 DOM、运行速度快,并且作者是中国人尤雨溪,对应的 API 文档对国内开发者优化,作为前端 开发人员的首选入门框架 Vue 的优势: 1、Vue.js 可以进行组件化开发,使代码编写量大大减少,读者更加易于理解。 2、Vue.js 最突出的优势在于可以对数据进行双向绑定。 3、使用 Vue.js 编写出来的界面效果本身就是响应式的,这使网页在各种设备上都能 显示出非常好看的效果。 4、相比传统的页面通过超链接实现页面的切换和跳转,Vue 使用路由不会刷新页 面。 5、vue 是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和 dom,这样大大加快了访问速度和提升用户体验。 6、而且他的第三方 UI 组件库使用起来节省很多开发时间,从而提升开发效率。
猫头虎
2024/04/07
1920
vue部分知识点
作用机理,v-if控制的是元素是否渲染,而v-show控制css的display属性,故频繁改变现隐状态使用v-show可以减少消耗
kif
2023/03/10
1.2K0
vue使用 Object.assign()巧妙重置data数据
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。
程序媛夏天
2024/01/18
1.3K0
vue使用 Object.assign()巧妙重置data数据
SSM 单体框架 - 前端开发:课程和广告模块
使用 Element UI 表格进行数据展示:https://element.eleme.cn/#/zh-CN/component/table
RendaZhang
2020/10/09
1.3K0
SSM 单体框架 - 前端开发:课程和广告模块
[Vue 牛刀小试]:第七章 - Vue 实例的生命周期
   在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程。例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。在这个过程中,Vue 会运行一些生命周期钩子函数,而我们则可以在钩子函数中编写一些自定义方法,用以在 Vue 的整个生命周期中某些阶段实现我们特殊需求。那么,本章,我们就来了解 Vue 实例的生命周期钩子函数。
程序员宇说
2019/09/11
5230
[Vue 牛刀小试]:第七章 - Vue 实例的生命周期
相关推荐
2020年,vue面试遇到的问题(中)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验