一些关于做微信小程序时遇到的问题及一些小技巧
顺便再次吐槽一下, 官方文档写得太烂了
Toast 现已更改为 showToast
1 2 3 4 5
| wx.showToast({ title: '内容', icon: '提示图标', duration: 保持时间, 单位为毫秒 })
|
js 中动态更改组件属性
- 组件要动态变化的属性设置一个别名
- 在 js 文件中的 data 里新建一个变量, 与别名一样的名字
- 在函数中动态更改
1
| <button bindtap="confirmSub" loading="{{loading}}">确认</button>
|
1 2 3 4 5 6 7 8
| data:{ loading: false, }, confirmSub: function(e){ this.setData({ loading: !this.data.loading, }), }
|
监听器里调用上一级变量
在监听器或定时器里使用的参数变量定义时必须加 const 关键字
this 转换为 that, 用来访问上一级的变量
1 2 3 4 5 6 7 8 9 10 11
| testListener: function(e){ const that = this; that.setData({ console.log(e); }); setTimeout(function(){ that.setData({ testConst: !that.data.testConst, }) }) }
|
输入框剔除无效字符
1 2 3 4 5 6 7 8 9 10 11
| function removeSpecialChar(s) { var pattern = /[0-9]{1}/; var rs = ""; for(var i = 0; i < s.length; i++){ var single = s.substr(i,1); if(single.match(pattern)){ rs = rs+single; } } return rs; }
|
点击按钮后获取输入框内容
一种是把输入框和按钮放在一个表格即