微信小程序开发笔记
setData如何修改对象、数组中的值 假设原数据为:
{
user_info: {
name: 'li'
},
cars: ['nio', 'bmw', 'wolks']
}
方式一:
使用['字符串'],例如:
this.setData({
['user_info.name']: 'huang',
['cars[0]']: 'tesla'
})
方式二: 构造变量,重新赋值,例如
var temp = this.data.user_info
temp.age = 20
this.setData({
user_info: temp
})
textarea组件的padding
iOS上textarea有个默认的内边距,即使设置css的padding-left也没有效果。可以添加一个disable-default-padding="{{true}}"来解决。
border-radius 导致 overflow: hidden 失效
swiper 中轮播图要增加圆角美化,编译器显示是有圆角的,但手机预览中圆角失效,查看 css 样式都是存在的。
网上查找是因为父级设置了border-radius同时还设置了overflow:hidden,想要隐藏超出的子元素边角依然会显示出来,overflow:hidden无效了。
解决办法: 方法1
position: relative; z-index: 1;
方法2
transform: rotate(0deg);
1.下拉刷新看不到加载动画,需要在对应页面的 json 文件中添加或修改以下代码:
{
"backgroundTextStyle":"dark"
}
要跳转到tabBar页面,需要使用以下方法
wx.switchTab({
url: "",
})
阻止子元素点击事件传递到父级元素
<button catchtap='方法名'>按钮标题</button>
自定义分享
// res.from 可选值有 menu,button
onShareAppMessage: function (res) {
let shareData = {
path: '/pages/goods/detail?gid='+this.data.gid
}
console.log(shareData)
return shareData
},
获取组件属性值
html:
<button data-foo="bar" bindtap="show">show</button>
js:
show: (e) {
//e.currentTarget.dataset.foo
}
全局变量
getApp().globalData
服务端解决有几率出现-41003错误
小程序端请求时将 iv 参数进行 encodeURIComponent 即可
2.项目切换
在微信开发者工具中创建新的项目填写 appid 后指向原来的目录。
3.UI设计
- 设计图宽 750px
4.button去边框
button:after { border:none; }