关闭

微信小程序遇到的坑

时间: 2018-12-02阅读: 2682标签: 小程序

小程序textarea组件字数限制问题  

解决方法:

<textarea name="content" maxlength='-1'></textarea>


scroll-view 中不能使用 textarea 组件 

swiper和swiper-item是继承scroll-view的,所以在他们里面使用textarea的时候会出现很奇怪的现象,比如placeholder错位。解决方法:

用view组件替换swiper组件,用微信小程序的wx.animation()实现点击切换效果 除此之外, 在 scroll-view 中也不能使用 map、canvas、video 组件。否则会出现很多奇怪的现象


input组件的问题

  • placeholder 文字与 input 的值重叠 暂无解决方法

  • 获取焦点 和 失去焦点 时,光标和文字跳动 暂无解决方法

  • 当 input 设置为居中对齐时,光标会出现在奇怪的位置 暂无解决方法

  • bindconfirm 事件在失去焦点时也会触发,类似于 blur 暂无解决方法

  • 对 input 做动画时,如果是获取焦点状态,会失效 暂无解决方案,因为 input 在获取焦点时是
    native 组件,失去焦点后改回 web 组件

  • type 为 idcard, digit 时并不是调用数字键盘 暂无解决方案,目前起作用的只有 number

  • 在input聚焦期间,不能做css动画,否则input中的placeholder会错位,如果动画和聚焦都想要的话,那么可以在动画完成之后,再设置聚焦



关于数据绑定的问题

小程序更新data后只是把数据的值更新,不会刷新页面,比如滑动的列表不会回到顶部,导致使用swiper有个小bug:

就是swiper的数据是后台请求的,可通过切换tab标签动态获取,如果在切换之前swiper处在第三张或者更多(比将要点击的tab下的swiper多),那切换后swiper会是空白,解决办法是,每次切换要手动初始化swiper的current    属性,使其停留在第一张。


关于生命周期的问题

生命周期函数不要写成箭头函数,否则this会取不到

 切换底部导航时页面不刷新问题,可以用onShow函数掉一次接口重新获取数据解决,或者写一个下拉刷新


图片预览问题

ios没有问题,安卓会黑屏,原因是预览的图片必须是http或https开头的url,相对路径会黑屏


背景图片不显示的问题

这应该是小程序的bug,解决方法:

1. 将背景图片转成base64   2.将图片放到服务器,使用url显示


关于picker组件

1. 触发弹窗时一定要点击在内容上才可触发,点击空白处无效,这个解决看具体需求,比如加个默认值之类的

2. 安卓和ios的样式不一样,如果对这个有要求建议使用第三方组件(如:有赞)


关于post请求

如果要传请求参数,header中要写这个 'content-type': 'application/x-www-form-urlencoded',官方文档说的 'content-type': 'application/json'这个,貌似不管用


小程序没有过滤器

可以用wxs解决,但是要处理传入的value undefined的时候,否则会报错,因为这个方法执行的快一些,数据还没有传过来,当数据传来后又执行一次,第一次很可能undefined


关于小程序码识别的问题

如果二维码识别的是小程序通过 navigate 跳转后的子页面,进入小程序后将回不到首页,因为小程序会认为这是首页,如果有可以回到首页的需求,我的解决办法是,识别后进入首页根据scene参数进行子页跳转


new Date跨平台兼容性问题

在Andriod使用new Date(“2018-05-30 00:00:00”)木有问题,但是在ios下面识别不出来。  因为IOS下面不能识别这种格式,需要用2018/05/30 00:00:00格式。可以使用正则表达式对做字符串替换,将短横替换为斜杠。

var iosDate= date.replace(/-/g, '/');


wx.getSystemInfoSync获取windowHeight不准确:

主要原因在于获取是时机,wx.getSystemInfoSync是在页面初始化的时候就计算了,基本上可以理解为是屏幕高度。所以,最好的方法是使用异步接口,并且在onReady函数中调用。

onReady() {
  wx.getSystemInfo({
    success({windowHeight}) {
      // todo
    }
  });
}


图片本地资源名称,尽量使用小写命名:

在解决iPhone X适配时,底部多余部分使用图片时

<image src="/imgs/iphoneX.png" mode="aspectFill">
路径是 src='imgs/iphoneX.png'></image>

发现在pc IDE上面可以显示出来,但是真机调试时,图片找不到,然后将图片名称改为iphonex.png真机调试就可以了

<image src="/imgs/iphonex.png" mode="aspectFill"></image>


无法获取UnionID的问题

login获取UID必须满足两个条件:

  • 把小程序和公众号都绑定在开放平台
  • 用户必须已经关注公众号

用wx.getUserInfo获取满足一个条件:

  • 把小程序和公众号都绑定在开放平台


wx.getUserInfo()接口更改问题

微信小程序最近被吐槽最多的一个更改,就是用户使用wx.getUserInfo(开发和体验版)时不会弹出授权,正式版不受影响。现在授权方式是需要引导用户点击一个授权按钮,然后再弹出授权。  


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1472

关闭

小程序websocket心跳库——websocket-heartbeat-miniprogram

在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库。如下:在2020年也就是今年初,同事建议说可以考虑兼容一下小程序,心想也挺好的。

微信小程序用户授权

对于小程序未授权的用户,官方取消wx.getUserInfo方法的直接调用,首次授权必须主动触发自定义按钮,才可调起官方授权组件。思路步骤:wx.getSetting查看是否授权,已授权使用wx.getUserInfo获取用户信息,保存

微信小程序框架推荐_分享好用的小程序前端开发框架

选择优秀的框架,能帮助我们节省开发时间,提高代码重用性,让开发变得更简单。下面就整理关于微信小程序的前端框架,推荐给大家。

在微信小程序中使用 async/await

微信小程序中有大量接口是异步调用,比如 wx.login() 、 wx.request() 、 wx.getUserInfo() 等,都是使用一个对象作为参数,并定义了 success() 、 fail() 和 complete() 作为异步调用不同情况下的回调。

小程序多余文本省略号显示

如何在 wxml 页面中截取数据?取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的。那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑。

在微信小程序中保存网络图片

在小程序的文档中我们得知,wx.saveImageToPhotosAlbum 是用来保存图片到相册的。 但是仔细一看会发现这个接口的filePath参数只接受临时文件路径或永久文件路径,不支持网络图片路径,意味着我们不能直接调用这个接口。

小程序支持JSX语法的新思路

React社区一直在探寻使用React语法开发小程序的方式,其中比较著名的项目有Taro,nanachi。而使用React语法开发小程序的难点主要就是在JSX语法上,JSX本质上是JS,相比于小程序静态模版来说太灵活。

优雅解决微信小程序授权登录需要button触发

聊一聊最近的一个项目,这个项目是一个收书、售书的小程序,有商城、专栏、信息发布论坛等功能。虽然不是面向所有用户,但要求无论用户是否授权都皆可使用,但同时也要求部分功能对不授权的用户限制开放。

微信小程序常用的几个UI组件库

WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、icon等各式元素。

小程序获取用户信息

其实获取用户信息,一种是获取权限的,一种是不用获取权限,前者获取到的信息更多,包含一些敏感信息,包括给getaccessToken接口需要传的参数,后者就是简单获取一些头像、昵称等信息

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!