更新记录
1.0.0(2024-06-21)
下载此版本
新增
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 |
× |
√ |
× |
× |
× |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
× |
× |
× |
× |
× |
hbxw-btn-bar组件
介绍
按钮条组件,通过配置可以生成形形色色的按钮条,可玩性不错,默认的样式也可以直接使用
使用示例
推荐先直接复制示例代码到工程中看效果了解下使用方法再投入项目使用。
<template>
<view class="container">
<!-- fixed在顶部按钮 -->
<hbxw-btn-bar isFixed :btns="listTop" position="top" isPlaceholder @click="topBtnClick" />
<view class="test-title">通过btns控制按钮渲染</view>
<hbxw-btn-bar :btns="list0" isPlaceholder @click="midBtnClick" />
<view class="test-title">通过height设置按钮条的高度</view>
<hbxw-btn-bar :btns="listTop" height="168rpx" isPlaceholder @click="midBtnClick" />
<view class="test-title">通过wrapStyle设置主容器样式,如背景为#ff0,去掉阴影,按钮条高度通过height来设置</view>
<hbxw-btn-bar :btns="listTop" :wrapStyle="{backgroundColor: '#ff0','boxShadow': 'none'}" isPlaceholder @click="midBtnClick" />
<view class="test-title">通过main具名slot自定义整个按钮区域</view>
<hbxw-btn-bar isPlaceholder @click="midBtnClick">
<template #main>
<view>整个按钮区域都是我的</view>
</template>
</hbxw-btn-bar>
<view class="test-title">通过btn具名slot自定按钮</view>
<hbxw-btn-bar :btns="listTop" position="bottom" isPlaceholder @click="bottomBtnClick">
<template #btn={item,index}>
<button v-if="index == 0" size="mini" open-type="contact">联系客户</button>
<button size="mini" v-else>{{item.text}}</button>
</template>
</hbxw-btn-bar>
<view class="test-item">这里占位内容</view>
<hbxw-btn-bar isFixed :btns="list" position="bottom" isPlaceholder @click="bottomBtnClick" />
</view>
</template>
<script>
export default {
data() {
return {
list: [
{
text: '长条按钮',
color: '#287EFF',
style: {borderRadius:'50rpx'}
}
],
listTop: [
{
text: '左边按钮',
color: '#287EFF',
},{
text: '中间按钮',
color: '#389E0D',
style: {borderRadius:'50rpx'}
},{
text: '右边按钮',
color: '#E17D52',
plain: true
}
],
list0: [
{
text: '左边按钮',
color: '#287EFF',
style: {borderRadius:'50rpx'}
},{
text: '右边按钮',
color: '#E17D52',
plain: true
}
],
}
},
methods: {
topBtnClick(item, index) {
console.log('---- 顶部按钮被点击 ----:', item, index);
},
bottomBtnClick(item, index) {
console.log('---- 底部按钮被点击 ----:', item, index);
},
midBtnClick(item, index) {
console.log('---- 中间按钮被点击 ----:', item, index);
}
}
}
</script>
<style lang="scss" scoped>
.container{
display: flex;
align-items: stretch;
flex-direction: column;
}
</style>
注:wrapStyle可以直接修改按钮父级样式,但是因为高度要考虑到placeholder的情况,所以按钮条高度通过height来配置
API
Props
属性名 |
类型 |
默认值 |
必填 |
说明 |
btns |
Array |
null |
否 |
按钮列表,几项就生成几个按钮,参数结束见示例 |
isFixed |
Boolean |
false |
否 |
按钮是否固定定位 |
height |
Number/String |
'' |
否 |
按钮条高度,高度默认包括padding的 |
wrapStyle |
Object |
null |
否 |
按钮父级样式配置 |
position |
String |
'' |
否 |
可选参数:''/bottom(固定在底部)/top(固定在顶部) |
isPlaceholder |
String |
true |
否 |
当fixed为true时候,是否需要生成一个同高度内容为占位,防止遮挡内容 |
Events
事件名 |
说明 |
返回值 |
click |
按钮点击时触发的事件 |
btns的某一项+当前按钮所有索引 举列:(item, index) |