前言微信小程序默认给我们提供了一个省市区的picker选择器,只需将mode设置为region即可 <pickermode="region"bindchange="bindRegionChange"value="{{region}}"custom-item="{{customItem}}">因为小程序默认提供的省市区选择器只能保存名称,不能保存id,而且我也不需要选择三级城市,所以这里打算通过mode="multiSelector"来实现省份城市的选择 城市数据json格式关于省份城市数据的获取,这里我通过接口去获取数据,返回的json格...
前言 众所周知,无论是在小程序还是APP中,打开一个页面其实就是创建了一个新的View对象,一层层叠加的。当点击页面的回退按钮就是把当前页面关闭。 这个过程中会涉及到一个问题,就是打开页面的数量。在某些设计下,比如一个商品详情页面中会推荐其他的商品,这些商品点进去就是详情页面。详情页面中又有推荐,又可以点进去。这样重复下去打开的页面就会越来越多。 如果不做限制,当打开数量到一定程度的时候肯定会卡死了。在微信...
前言 启动页在APP中是个很常见的需求,为什么对于小程序来说也非常重要呢?首先我描述一下我在开发过程中遇到的一些问题以及解决的步骤,到最后为什么要加启动页,看完你就明白了。 小程序的首页需要展示用户关注的小区信息,意味着一打开小程序我就得先执行登录的逻辑,只有登录了之后才能获取用户关注的小区信息。 在小程序启动的时候自动登录,目前没获取用户信息,所以不需要用户授权,这个逻辑放在根目录下的app.js的onLaunch...
一、前言相信做过微信小程序开发的人应该都碰到过这个问题,因为这个需求实在太常见了由于textarea是属于原生组件,层级最高,不管在页面中我们设置z-index值多少都会被textarea组件遮挡住,很影响用户体验, 目前官方对该问题还没有修复,当然官方也给出了解决该问题的其他方案,使用cover-view和 cover-image替代,但个人感觉并不是很好,有一些限制 二、使用场景及解决方案1、弹窗显示2、底部fixed定位的按钮,页面滚动时,例如...
前言 由于小程序中的textarea组件是原生组件,而原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上,造成输入的文字会显示在小程序其他组件上,如下图所示:<view class=bar bottomfix shadow justify-center><button class= formType="submit" type="primary" style=font-size:12pt;border:0px;width:300px;> 保 存</button></view>网上有一些绕弯路的解决办法,其实小程序有一个直接解...
前言:这篇文章讲什么微信小程序中 textarea 组件的层级过高如何解决 前言:这篇文章对谁有用微信小程序开发者 前言:本文有什么用?提供解决问题的思路,供你参考(因为时间关系,我没法把代码整理的好好的然后贴出来让你复制黏贴。或者是做成一个组件然后开源) 前言:本文时效性截止至2018年10月30号,微信的 textarea 还是以原生组件形式实现,因此层级最高。无法通过 z-index 进行调整。在微信小程序官方把 textarea 改成了可...
前言使用promise 队列,保存多张图片到手机相册问题:有些手机会出现只能保存五张图片,报错信息:无法写入promise需要好好学习 核心代码// pages/saveImgs/index.js import { writePhotosAlbum } from ../../utils/util Page({/*** 页面的初始数据*/data: {list: [https://timgs.top1buyer.com/admin/special/special_img_20190301160008479.jpg,https://timgs.top1buyer.com/admin/special/special_img_20190301160013201.jpg,http...
本文实例讲述了微信小程序获取网络类型的方法。分享给大家供大家参考,具体如下: 这里主要演示通过wx.getNetworkType获取当前网络类型的操作方法。代码如下: index.js: Page({/*** 页面的初始数据*/data: {netType:},/*** 生命周期函数--监听页面加载*/onLoad: function () {var that = this;try {wx.getNetworkType({success: function(res) {that.setData({netType:res.networkType})},})} catch (e) {// Do something when c...
故事是这样的 产品小姐姐:“我要做一堆小程序,一周上线一到两个没问题吧” 码畜小哥哥:“你他喵是不是傻,做那么多干什么” 产品小姐姐:“蹭些流量呀,用户量多了就可以考虑转化流量给公司的 App” 码畜小哥哥:“fuck 好的” 码畜小哥开始架构 小程序杂,放一个项目方便管理小程序多,代码要能够复用团队开发,代码风格要统一码畜小哥开始建项目 这是单个小程序的基本目录结构,没问题当一个项目有多个小程序的时候,好像也没...
摘要: Fundebug的微信小程序错误监控插件更新至0.5.0,支持监控HTTP请求错误。接入插件 接入Fundebug的错误监控插件非常简单,只需要下载fundebug.0.5.0.min.js,在app.js中引入并配置apikey: var fundebug = require(./libs/fundebug.0.5.0.min.js) fundebug.apikey = "API-KEY";获取apikey需要[免费注册](https://www.fundebug.com/team/create)帐号并且[创建项目](https://www.fundebug.com/project/create)。创建项目时语言请...
微信小程序设置 hover-class,实现点击态效果 增强小程序触感,提高用户交互感知度 概念及注意事项 微信小程序中,可以用 hover-class 属性来指定元素的点击态效果。但是在在使用中要注意,大部分组件是不支持该属性的。 目前支持 hover-class 属性的组件有三个:view、button、navigator。不支持 hover-class 属性的组件,同时也不支持 hover-stop-propagation、hover-start-time、hover-stay-time 这三个属性。当 hover-class 的...
前言 话不多少先上效果,引入很简单,将/components/s-packetrain/index放到你的组件文件夹中 直接引用就可以了。首先你要先在页面引入组件 index.json 引用组件 {"navigationBarTitleText": "红包雨","usingComponents": {"s-packetrain": "/components/s-packetrain/index"} }index.wxml <!--pages/packetRain/index.wxml--> <view class="container"><image mode="aspectFit" src="/assets/logo.png"></image><view class=title>...
本文实例讲述了微信小程序五子棋游戏的棋盘,重置,对弈实现方法。分享给大家供大家参考,具体如下: DEMO下载 五子棋对弈、悔棋DEMO 效果图分析 1. 采用微信小程序的canvas制作五子棋; 2. 确定棋盘大小及格数; 3. 绘制棋盘—-通过棋盘宽高和格数计算间距,同时保存坐标点; 4. 黑方和白方下子—-定义一个布尔变量代表各自的身份; 5. 重置棋盘—-重新开始; 6. 通过判断当前棋手,悔棋时进行改变。 绘制棋盘 drawLine(arr){arr....
本文实例讲述了微信小程序五子棋游戏的悔棋实现方法。分享给大家供大家参考,具体如下: DEMO下载 五子棋悔棋DEMO 效果图分析 悔棋功能需要的操作: 1. 判断当前持棋人; 2. 清空棋盘; 3. 将当前持棋人的棋子数组的最后一个棋子还原到全局坐标数组的位置; 4. 删除当前持棋人的棋子数组的该坐标。 js this.page.changeUndo = function(e){if (self.START_GAME){var lastM = self.myPoint.length - 1;var LastA = self.AIPoint.len...
为什么不能频繁 setData先科普下 setData 做的事情:在数据传输时,逻辑层会执行一次 JSON.stringify 来去除掉 setData 数据中不可传输的部分,之后将数据发送给视图层。同时,逻辑层还会将 setData 所设置的数据字段与 data 合并,使开发者可以用 this.data 读取到变更后的数据。因此频繁调用,视图会一直更新,阻塞用户交互,引发性能问题。但频繁调用是常见开发场景,能不能频繁调用的同时,视图延迟更新呢?参考 Vue,我们能知...