微信小程序常见标签使用
一、view标签&text标签
view标签:
长按展示不同样式:
<view hover-class="classhover"></view>阻止冒泡:
<view hover-stop-propagation="true"></view>文档:https://developers.weixin.qq.com/miniprogram/dev/component/view.html
text标签:
长按使文字能被复制:
<text selectable></text>;对文本内容进行解码(例如识别
$nbsp;):<text decode></text>文档:https://developers.weixin.qq.com/miniprogram/dev/component/text.html
二、image标签
因为项目大小不能超过2M,image一般引用网上文件,image标签有默认的宽高320 * 240,按需要手动调整
src指定要加载的图片路径mode决定图片的宽高模式(图片默认宽高居中显示)scaleToFill不保持纵横比缩放图片,使图片的宽高完全撑满image标签aspectFit保持纵横比,保证图片长边能完全放在容器中,不一定撑满image标签aspectFill保持纵横比,保证图片短边能完全放在容器中,图片很可能显示不完全widthFix保持纵横比,image宽度指定后高度自适应(直接无视css设置的高度)top、buttom、left… 不缩放图片,放在image标签中的指定位置
lazy-load小程序中默认支持懒加载(image标签若判断自己处于视口上下3屏高度内就开始加载)
文档:https://developers.weixin.qq.com/miniprogram/dev/component/image.html
三、swiper标签
- 轮播图外层容器为
<swiper></swiper>,内层装的图片容器为<swiper-item></swiper-item> - 默认样式:宽100%,高150px。
- image标签默认宽高无法自适应
swiper-item,且无法撑开swiper-item - 一般通过原图宽高计算,给
swiper定高度→swiper宽高比 = 原图宽高比(可使用css中calc方法)
常用attributes:
indicator-dots是否显示轮播指示点indicator-color="rgb(0, 0, 0, .3)"指示点颜色(支持16进制)indicator-active-color="#000"当前选中指示点颜色autoplay自动轮播interval="5000"自动循环时间间隔circular是否循环轮播
文档:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html
四、navigator标签
类似于a标签,但是是块级元素,独占一行。
常用attributes:
url路径(相当于href)target="miniProgram"跳转的目标(可以是当前小程序的页面,也可以是其他小程序的,默认值是self)open-type="navigate"跳转方式,有如下值可用:navigate保留当前页面(左上角会保留返回按钮),跳转到应用内某页面,但是不能跳转到tabBar页面(点击什么都不会发生)redirect关闭当前页面,跳转到应用内某页面,也不能跳转到tabBar页面switchTab跳转到tabBar页面,并关闭其他所有非tabBar页面(左上角不会有返回按钮)reLaunch跳转到目标页面,并关闭所有页面navigateBack返回跳转前的页面exit退出其他小程序(一般配合target使用)
文档:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html
五、rich-text标签
用来支持和显示html代码
attributes:
nodes接受一个标签字符串或对象数组标签字符串:
<div>啦啦啦</div>对象数组:
1
2
3
4
5
6
7
8
9
10
11
12html: [
{
name: "div",// 标签名,支持大部分标签
attrs: {
class: "my_div",
style: "color:red;"
},// 各种attributes
children: [
{}// 里面可以再放类似的节点信息
]
}
]space用来显示连续空格
tips:
nodes尽量用array,使用string的话性能会稍微下降。- 标签内屏蔽所有节点事件。
- attrs内不支持id,支持class。
- img标签只支持网络图片,且部分ios系统不支持webp格式。
- 若自定义组件中使用rich-text,wxss会对rich-text内部出现的class生效。
- ios系统下rich-text中出现的图片可以长按提示操作,然后所有其他tap事件都会失效。解决方法是:添加
-webkit-touch-callout: none;样式。
文档:https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html
六、button标签
可以自定义按钮样式,下面是默认按钮
外观attributes:
size按钮大小,取值有default和minitype按钮样式类型,取值有default灰色、primary绿色 、warn红色plain按钮是否镂空disabled是否禁用loading是否在名称前加loading图标
功能attributes:
contact打开客服对话,需要在小程序后台配置(需要真机)- 使用自己的appID加载小程序开发软件
- 登录微信小程序用户官网,在功能tab中点击客服,添加客服账号(可以是自己的另外一个账号)
share转发当前小程序到微信朋友中,不能转发到朋友圈getPhoneNumber配合bindgetphonenumber事件,在回调函数的参数中获取当前用户的手机号码加密信息(在后台解密),非企业小程序账号没有权限获取用户手机号getUserInfo获取当前用户的个人信息,和上面一样需要bindgetuserinfo事件配合(未加密)launchApp在小程序中打开某个app,需要先在app中通过链接打开小程序,才能反过来打开app(京东app可试验)openSetting打开小程序内置的授权页面,只有用户曾经允许的授权信息(例如3、4中的手机号和个人信息)feedback打开意见反馈页面(需要真机)
七、icon标签
图标标签
常用attributes:
type图标类型,取值(不完全):success|success_no_circle|circle(文档未注明)|info|warn|waiting|cancel|download|search|clearsize图标大小,取值为number/string,默认值23color图标颜色,取值同css的color
八、radio标签
类似于原生radio标签
选中后的默认绿色可以通过
color特性修改需要搭配 父级标签
radio-group标签 使用1
2
3
4
5<radio-group bindchange="changeGender">
<radio value="male">男</radio>
<radio value="female">女</radio>
</radio-group>
<view>选中了{{gender}}性</view>1
2
3
4
5
6
7
8
9
10
11Page({
data: {
gender: ''
},
changeGender (e) {
let gender = e.detail.value
this.setData({
gender
})
}
})
九、checkbox标签
- 类似于原生checkbox标签
- 同样可以通过
color特性改变选中颜色 - 同样需要父级标签
checkbox-group配合使用
十、scroll-view标签
可滚动标签
scroll-top="变量"显示竖直方向滚动条所在的位置,需要重置到顶部时可以将变量重置为0。scroll-left="变量"显示水平方向滚动条所在位置,同上。
十一、rich-text标签
用来支持和显示html代码
attributes:
nodes可选值:array|string;分别用来支持节点列表和字符串html,默认是array。- array内成员:
name标签名,只支持受信任的标签attrs属性children子节点列表
- array内成员: