uniapp 工作记录

  1. nvue 下 input 调起 键盘闪退
  2. uni.navigateToMiniProgram APP暂时不可以使用(2021.11.02)
  3. 跳转到外部页面 -由外部浏览器打开
    var urlStr = encodeURI(url)//把字符串作为url进行编码
    plus.runtime.openURL(‘http://’ + urlStr);
  4. 外部h5引入APP内部查看 通过 webview 页面 <web-view :src="url"></web-view>
  5. 箭头函数运用时 记得查看一下 当前函数下 this 的赋值 问题
  6. 返回页面顶部
uni.pageScrollTo({
scrollTop: 0,
duration: 300
});
  1. scroll-view下 flex 不换行不生效(scroll-view下 需要再加一层box 然后给display 属性,才会生效)
解决:子列表为块级元素,会单独占一行,在子列表class类上定义css属性:display:inline-block;

代码示例如下:
<scroll-view class="list_box" scroll-y="true" enable-back-to-top="true" show-scrollbar="false">
	<view class="m_box">
	</view>
</scroll-view>
<style>
.list_box{
	display:flex;
}
.m_box{
	display:inline-block;
}
</style>
  1. picker 多列数据不更新
uniapp picker 实例中,多列选择器中的数据是动态实现的,如果不是本地的json数据及方式处理的话,this.cityArr[0]=[数组内容],会得不到赋值内容。
在网上借鉴了一些网友的文章,暂做记录如下。

// 错误
this.cityArr[0]=[数组内容]
这样的内容为空。

//正确方法
let data,arr = [];
data = res.data;
data.forEach(item => {
	arr.push(item);
});
this.cityArr.splice(0, 1, arr)
  1. 子窗体hide失效
可能是因为上一次调用未关闭,当前页面调用子窗体的,离开当前当前页面,需在onUnload方法中执行 close() 方法。
onUnload(){
	uni.getSubNVueById('XXX').close()
}
  1. 动态数据不及时更新
this.$forceUpdate();
this.$set(数组, 下标, 更新数据);
  1. sticky 黏性吸顶不生效
sticky不生效踩坑:

父元素设置了overflow:hidden或者overflow:auto属性
未指定top、right、bottom、left中的任意一个
父元素的高度低于sticky定位的元素高度
当父元素的height:100%时,页面滑动到一定高度之后sticky属性会失效

sticky属性仅在以下几个条件都满足时有效:
父元素不能设置overflow:hidden或者overflow:auto属性
必须指定top、bottom、left、right中的任意一个,否则只会处于相对定位
父元素的高度不能低于sticky定位的元素高度
父元素不要设置高度:100% 

sticky原理:
sticky属性依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换
元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位
  1. 子组件调用
  1. 注册: uni.getSubNVueById(‘xxx’).show()
    全局调用子组件,可以在首页注册
    单页面子组件,需注册在当前页面的路由下
  2. 关闭 uni.getSubNVueById(‘xxx’).close()
    全局调用子组件,需在底部tab页面中 的 unonload周期里面关闭子组件 .close(),其他页面调用即可,无需在写关闭方法
    单页面子组件,需要当前页面关闭时 unonload 周期里面关闭子组件 .close()
  3. uni.getSubNVueById(‘xxx’).hide()
    hide 是隐藏了当前的子组件,并没有关闭,会导致如果页面有蒙层等设置的话,再次点击子组件,出现多个蒙层的情况,最好用.close() 方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值