开始
退出的时候是否保存为草稿。如果保存为草稿,就写入到缓存内。下一次用户进来就加载缓存的数据
监听返回按钮的事件
return true表示阻止返回。


onBackPress() {uni.showModal({content:'是否要保存为草稿',cancelText: '不保存',confirmText:'保存',success: res => {}})},

不管点击保存还是不保存,都还是会弹出这个弹窗。

isget: false,
弹出后设置为true
this.isget=true;
在外层加一个判断。
封装成一个方法




缓存
本节完整代码
<template><view><uni-nav-bar :statusBar="true" rightText="发布"left-icon="back" left-text="返回"@clickLeft="back" @clickRight="submit"><view class="u-f-ajc" @tap="changelook">{{ yinsi }}<view class="icon iconfont icon-xialazhankai"></view></view></uni-nav-bar><!-- <uni-nav-bar :statusBar="true"><block slot="left"><view class="back"></view></block><view class="u-f-ajc" @tap="changelook">{{ yinsi }}<view class="icon iconfont icon-xialazhankai"></view></view><block slot="right"><view class="city">发布</view></block></uni-nav-bar> --><!-- 多行输入框 --><view class="uni-textarea"><textarea value="" v-model="text" placeholder="说一句话吧~" /></view><!-- 上传多图 --><upload-images @upload="upload" @delect="delect"></upload-images><!-- 弹出公告 --><!-- <uni-popup :show="showpopup" pisition="middle" mode="fixed" msg="居中弹出popup"@hidePopup="hidePopup">它编程贵阳分需不需</uni-popup> --><uni-popup ref="popup" background-color="#fff"><view class="gonggao"><view class="u-f-ajc"><image src="../../static/common/addinput.png" mode="widthFix"></image></view><view class="">1.涉及黄色,政治,广告及骚扰信息</view><view class="">2.涉及黄色,政治,广告及骚扰信息</view><view class="">3.涉及黄色,政治,广告及骚扰信息</view><view class="">4.涉及黄色,政治,广告及骚扰信息</view><button type="default" @tap="hidePopup()">朕知道了</button></view></uni-popup></view></template><script>import uploadImages from '@/components/common/upload-images.vue';let changelook = ['所有人可见', '仅自己可见'];export default {components:{uploadImages,},data() {return {isget: false,showpopup:true,yinsi: "所有人可见",text: "",imageList: [],}},onBackPress() {// 如果有值if(!this.text && this.imageList.length<1) {return;}if(!this.isget) {this.baocun();return true;}},// mounted() {// // this.$refs.popup.open('center'); // 打开弹窗// },methods: {// 保存为草稿baocun() {uni.showModal({content:'是否要保存为草稿',cancelText: '不保存',confirmText:'保存',success: res => {if(res.confirm) {console.log('保存');} else {console.log('不保存');}this.isget=true;// 返回上一页uni.navigateBack({delta:1});}});},// 返回back(){console.log('返回事件');uni.navigateBack({delta: 1})},// 发布submit(){console.log('发布')},// 隐私changelook(){console.log('隐私')uni.showActionSheet({itemList: changelook,success: function (res) {console.log(res.tapIndex);console.log(changelook[res.tapIndex]);this.yinsi=changelook[res.tapIndex];}});},upload(arr) {this.imageList=arr;console.log(this.imageList);},delect(arr) {console.log(arr);},hidePopup() {this.$refs.popup.close();// 关闭弹窗}}}</script><style>.gonggao{width: 520upx;padding: 15upx;}.gonggao image {width: 75%;margin-bottom: 20upx;}.gonggao button {background: #FFE934;}textarea{border: 1upx solid #EEEEEE;}/* .uni-navbar__header-container {justify-content: center;} */</style>

