为原生导航栏增加左侧右侧按钮或文字,在 app-plus
中添加配置
"app-plus": {
"titleNView": {
"titleSize": "26rpx",
"titleColor": "#393939",
"autoBackButton": true,
"splitLine": "undefined",
"thtleHeight": "40rpx",
"buttons": [{ // 右侧操作按钮样式定义,是以数组形式定义,可定义多个
"color": "#393939",
"text": "欢迎您,",
"fontSize": "20rpx",
"float":"right"
"type":"back"// 按钮类型
}]
}
}
原生导航栏无法满足需求时,使用 uni_modules 扩展插件 uni-nav-bar 或者 自定义导航栏
"navigationStyle":"custom"
position: fixed;
、置于顶层 z-index: 9999;
、有背景颜色// 点击事件后
uni.showModal({
title: "提示",
content: "确认要提交吗?",
showCancel: true, // 有无取消按钮
success: function (res) {
if (res.confirm) {
console.log("点击了确定");
} else {
console.log("点击了取消");
}
},
});
v-show:"isShow"
this.isShow = !this.isShow
this.isShow = false
@blur
事件<input id="show"/> //给该元素设唯一标识 id
showSelector:function(e){
if(e.target.id != "show") {
this.isShowSelector = false;
}
},
type="number"
只能输入数字type="password"
密码export default {
data() {
return {
name: "",
};
},
};
<swiper class="swiper" @change="xxx">
<swiper-item class="swiper-item">swiper-item>
<swiper-item class="swiper-item">swiper-item>
<swiper-item class="swiper-item">swiper-item>
swiper>
scroll-x
scroll-y
否则不起作用<scroll-view class="scroll-view" scroll-x>scroll-view>
<scroll-view class="scroll-view" scroll-y>scroll-view>
解决报错,Ignored attempt to cancel a touchmove event with cancelable=false
三种方法解决[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false
<picker @change="doPickerChange" :value="index" :range="selectList" range-key="name">
<view>{{ selectList[index].name }}view>
picker>
doPickerChange: function(e) {
this.index = e.detail.value
},
<picker @change="doPickerChange" :value="index" :range="selectList" range-key="name">
<view>{{ getSelect() }}view>
picker>
getSelect() {
if (this.index === null) {
return "请选择";
}
return this.selectList[this.index].name
}
跳转标签,但是这种写法,其包裹的所有内容在点击的时候都会有阴影,像外边距的部分也有阴影uni.navigateTo(OBJECT)
保留当前页面,跳转到应用内的某个页面,使用 uni.navigateBack 可以返回到原页面。uni.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。uni.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面:点击退出登录、非登录跳转到登录界面uni.navigateBack(OBJECT)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。<navigator url="/pages/xxx/xxx">
<button>button>
navigator>
// 点击跳转 @click="goNext"
goNext() {
uni.navigateTo({
url: "/pages/xxx/xxx"
})
},
uni.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。uni.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。uni.getStorage(OBJECT)
从本地缓存中异步获取指定 key 对应的内容。uni.getStorageSync(KEY)
从本地缓存中同步获取指定 key 对应的内容。uni.getStorageInfo(OBJECT)
异步获取当前 storage 的相关信息。uni.getStorageInfoSync()
同步获取当前 storage 的相关信息。uni.removeStorage(OBJECT)
从本地缓存中异步移除指定 key。uni.removeStorageSync(KEY)
从本地缓存中同步移除指定 key。uni.clearStorage()
清理本地数据缓存。uni.clearStorageSync()
同步清理本地数据缓存。异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。
key: setStorageSync 中设了这个 key, getStorageSync 就可取这个 key 的值
从本地相册选择图片或使用相机拍照。
// @click="clickAddImg", methods中
clickAddImg() {
uni.chooseImage({
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
}
})
}
// @click="clickImg", methods中
clickImg() {
uni.previewImage({
urls: ["xxx.png"], //需要预览的图片http链接列表
current: '', // 当前显示图片的http链接,默认是第一个
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
uni.getNetworkType(OBJECT)
获取网络类型uni.getNetworkType({
success: function (res) {
if (res.networkType == "none") {
uni.showToast("无网络");
}
},
});
uniapp 官网 页面和窗体
uni-app 退出登录时获取当前所在的页面
防止重复跳转该页面
let routes = getCurrentPages();
let curRoute = routes[routes.length - 1].route;
if (curRoute != "pages/xxx/xxx") {
uni.navigateTo({
url: "/pages/xxx/xxx",
});
}