1.5.1 • Published 1 year ago

@wines/fab-button v1.5.1

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

@wines/fab-button

FabButton 浮动按钮

用于展现浮动按钮,预设 9 种颜色 light, stable, positive, calm, assertive, balanced, energized, royal, dark 可选用。

使用指南

在 page.json 中引入组件

{
  "navigationBarTitleText": "wux-fab-button",
  "usingComponents": {
    "wux-fab-button": "@wines/fab-button"
  }
}

示例

<view class="page">
	<view class="page__hd">
		<view class="page__title">FabButton</view>
		<view class="page__desc">浮动按钮</view>
	</view>
	<view class="page__bd">
		<wux-fab-button
		 position="topLeft"
		 theme="balanced"
		 direction="horizontal"
		 reverse
		 buttons="{{ buttons }}"
		 bind:change="onChange"
		 bind:click="onClick"
		 bind:contact="onContact"
		 bind:getuserinfo="onGotUserInfo"
		/>
		<wux-fab-button
		 position="topRight"
		 theme="balanced"
		 direction="vertical"
		 reverse
		 buttons="{{ buttons }}"
		 bind:change="onChange"
		 bind:click="onClick"
		 bind:contact="onContact"
		 bind:getuserinfo="onGotUserInfo"
		/>
		<wux-fab-button
		 position="bottomLeft"
		 theme="balanced"
		 direction="vertical"
		 buttons="{{ buttons }}"
		 bind:change="onChange"
		 bind:click="onClick"
		 bind:contact="onContact"
		 bind:getuserinfo="onGotUserInfo"
		/>
		<wux-fab-button
		 position="center"
		 theme="balanced"
		 direction="circle"
		 buttons="{{ buttons }}"
		 bind:change="onChange"
		 bind:click="onClick"
		 bind:contact="onContact"
		 bind:getuserinfo="onGotUserInfo"
		/>
		<wux-fab-button
		 position="bottomRight"
		 theme="balanced"
		 direction="horizontal"
		 buttons="{{ buttons }}"
		 bind:change="onChange"
		 bind:click="onClick"
		 bind:contact="onContact"
		 bind:getuserinfo="onGotUserInfo"
		/>
	</view>
</view>
import './index.less';

const icon =
  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAYWSURBVGje7ZhtkJZVGcd/9y4E64IMtEO4EyKhaBKTbPDBdCmHbJWMpBEIWYc1X5dxGrEJexFiJouYabYpFNNmdgYXmtpBZHwZqcbRQKIpNxuxHFNwaiZGhBSBD0rprw/3ee7n3A/Ps89LTX1ory/3uf/n5fqf65zrOtc5MCIjMiL/75JUb2InnXTwQUbVPfpxXmIfv0r+0iABp7KeL4afY/wTgDaOljSrjEykOSA9PJhYJ31vU7XfuRF2pXplrlW/2pZDdqgTsr8WV3pKPeWsOixgwgPcyP4yVbNPQ2tBYDZwWfJ0rbO/2z/7n5bfqR+uTf3FWafOHD7OvoA/4w2eny1BAn7UL3kw65ezrB0Z/qbN1dUnHlZ1IE/B7jDIdTaV7IFMnW1+LbRaWKK+R92kXlOdwEXqenXAyQUKjvNxVfvU9lzr/vx8JZvtDsdn6pdCIHAk7wxNZRhcB2wBSF7nA8BuOznEQn7KuBq3EJzJAIs5bgdDwKJkMOCP08aUahY4qTapAwDBCroaoFYLALgk9PxUqNFNfkG9vJoFWnkheS/7eycEoLdrnn1BDoTvyQj7I3BhNQLwSjafhJ2M4uvAZntLLDXPte5lJXDMx7zBibna1PirgH1OzeBjQDvDi/ozSJfAm9RnTMJW6k2XwAmuL+vp+5wTNmFoD3apB2wOS9Cu9tVMwLNUnZzOKPOCHlUPeI2jC6HYUS72N6r+OKMTLOZ31JsaIzCYOlDBqNFcL83Q6CzwPHeXqgfHqNqqbrK7lEBSjkC13RXJZp7nH0xnGefV2GOI3ckdxd/yZ/xgskzZSjd35vBFXALAncBGAGbSwvVsC+q/y5sBP8j9uZ4peg8b+Bu7a1gCJ6n6SmwMr1VfjpZhpUm6BABe4onchrwtN+bzWn4PNA3LZV1xhRzLNuBRYBU/B1YlW+IUI9nLDGAbTwZgk2dGI327korhCTwVlRcCOwHYTBenxQUncxhoZQEAnwWWRdVPN0bgcFReC2wI5Uv5WJ5CUD+fHuAo8EtgY2Sg1xshcLAYkG3lIuAPwP28yN7k9zGFgvpkT/IWtwPwDoNMZFKhfyJP1E/gT1H5bGB/cgo4yN0JUKCQWWp+sgeA7aHHI8DMaIQ99RFYShq3CzKd4o4YCrNKKVwPkXp4DYBbGQ+52PAyAIuoLlUyuzVWkyMeH6b22bwbDheIfpIz232s4wgzgd4cmkqMfYvx9AL30Zv8KJtWF7vqDUS/iLDx6hawzzWF0yGkKv1hZiF3dIpHFFyhfiYaYXldgSh5A+iIgBPACgE+xFdS9cHxgCxxi1d5EfltXCEhr0DAScD7fV9GCO6lmWnALcx1TtHxAHivQMEz0jPAMSwF/hoNeVVdBIKcE5X7Ifg4DOXUU0xf+T7QBlwOrEvezSY0ljmNEFgclZ/jRCCwiiSvPqLQGs6CRyluUIB51C7RaWh8j3GB+lLkUJ+XYkJiR+6k1C/nxtxV6TSsdOe/EdhKN5/MTjeSJ93J1UAhH3gIfILXgO+5EojzgVdpdk00Xlf4dpcq+p9nRMMtwYCr1U9keJwTLs/Q/iLhCjnh2ap2N5KUtqg6JlJfzIr1ZicUCERZ8eY8BRN/q37TKXURSC0Azld/kKnvrHIveMgLKL0XpO8sLfUReLhAAPyq2lsItvHdML0Z+a76oj/0Cov9zSinPedBIDBV3VidwP6IQOJgMdZXv5xSvJwW9kwPZARmq7fHrcsHoo9E5QtZAsAdjqU+OSN8WyJsFukFdVgCW4HwyuW5vEB6xbyav9f4wgOIq9kDrCCfvnZD2aevXOfLLLyQTMu20jkezbyghiXwbfUNp4XbhPaGJdC3qoYZR4e1G4j92SbXBfwBz61EwLO8K7TaYIiyGYWUwPJq+gGXnh5OAJzhUwE/6V1eXCTgBD/nvZFDzsj1uzaqGZ3XVfahUthFF3CoTGW154VDtJft2c6zzGVuMlQDAbCV/Uyv8FLamPyaj7Mk2V5ze1vcHnK++K24r/Sois+CgOyIkeytWBeU0zP8a/mneTjz5n/vtfwe1ibHGrKcs/yGz9monHCbi21qSPWIjMiI/HfkXwSZaWJJZaXhAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA0LTA0VDExOjQ3OjQ1KzA4OjAwI6N5UAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNC0wNFQxMTo0Nzo0NSswODowMFL+wewAAAAASUVORK5CYII=';
const buttons = [
  {
    openType: 'getUserInfo',
    label: 'GetUserInfo',
    icon,
  },
  {
    openType: 'share',
    label: 'Share',
    icon,
  },
  {
    openType: 'contact',
    label: 'Contact',
    icon,
  },
  {
    label: 'View on Demo',
    icon,
  },
];

Page({
  data: {
    buttons,
  },
  onClick(e) {
    console.log('onClick', e.detail);
    if (e.detail.index === 3) {
      void wx.switchTab({
        url: '/pages/index/index',
      });
    }
  },
  onContact(e) {
    console.log('onContact', e);
  },
  onGotUserInfo(e) {
    console.log('onGotUserInfo', e);
  },
  onGotPhoneNumber(e) {
    console.log('onGotPhoneNumber', e);
  },
  onChange(e) {
    console.log('onChange', e);
  },
});

API

FabButton props

参数类型描述默认值
prefixClsstring自定义类名前缀wux-fab-button
hoverClassstring指定按钮按下去的样式类。当 hover-class="none" 时,没有点击态效果default
themestring主题色,可选值为 light、stable、positive、calm、assertive、balanced、energized、royal、darkbalanced
positionstring按钮的位置,可选值为 topLeft、topRight、bottomLeft、bottomRightbottomRight
actionstring操作按钮的图标-
actionRotateboolean操作按钮是否旋转动画true
hideShadowboolean是否隐藏阴影false
backdropboolean是否显示透明蒙层false
defaultVisibleboolean默认是否显隐,当 controlledfalse 时才生效false
visibleboolean用于手动控制浮层显隐,当 controlledtrue 时才生效false
controlledboolean是否受控 说明文档false
directionstring按钮组排列方向,可选值为 horizontal、vertical、circlehorizontal
spaceBetweennumber按钮组间距10
durationnumber按钮组动画过渡时间,单位 ms300
scalenumber按钮组缩放比例.9
reverseboolean是否反转方向,当 directionhorizontal/vertical 时才生效false
sAnglenumber起始角度,当 directioncircle 时才生效0
eAnglenumber终止角度,当 directioncircle 时才生效360
buttonsarray按钮[]
buttons[].classNamestring按钮的类名-
buttons[].labelstring按钮的文字-
buttons[].iconstring按钮的图标-
buttons[].hideShadowboolean是否隐藏阴影false
buttons[].disabledboolean是否禁用false
buttons[].openTypestring微信开放能力,可选值为 contact、share、getUserInfo、getPhoneNumber、launchApp、openSetting、feedback-
buttons[].hoverClassstring指定按下去的样式类。当 hover-class="none" 时,没有点击态效果default
buttons[].hoverStopPropagationboolean指定是否阻止本节点的祖先节点出现点击态false
buttons[].hoverStartTimenumber按住后多久出现点击态,单位毫秒20
buttons[].hoverStayTimenumber手指松开后点击态保留时间,单位毫秒70
buttons[].langstring指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。en
buttons[].sessionFromstring会话来源-
buttons[].sendMessageTitlestring会话内消息卡片标题当前标题
buttons[].sendMessagePathstring会话内消息卡片点击跳转小程序路径当前分享路径
buttons[].sendMessageImgstring会话内消息卡片图片截图
buttons[].showMessageCardboolean显示会话内消息卡片false
buttons[].appParameterstring打开 APP 时,向 APP 传递的参数-
bind:clickfunction点击事件-
bind:getuserinfofunction用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致-
bind:contactfunction客服消息回调-
bind:getphonenumberfunction获取用户手机号回调-
bind:errorfunction当使用开放能力时,发生错误的回调-
bind:opensettingfunction在打开授权设置页后回调-
bind:changefunction监听状态变化的回调函数-

更多参数说明请参考微信官方的表单组件 Button

FabButton slot

名称描述
action自定义操作按钮,当 action 为空时才生效

FabButton externalClasses

名称描述
wux-class根节点样式类
1.5.1

1 year ago

1.5.0

1 year ago

1.3.5

2 years ago

1.4.0

2 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago