开始
退出的时候是否保存为草稿。如果保存为草稿,就写入到缓存内。下一次用户进来就加载缓存的数据
监听返回按钮的事件
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>