uniapp组件-uni-fab悬浮按钮

官网示例:https://ext.dcloud.net.cn/plugin?id=144

效果图:

代码实现:

<template>
	<view>
		<uni-fab
			:pattern="pattern"
			:content="content"
			horizontal="right"
			vertical="top"
			direction="horizontal"
			:popMenu="true"
			@trigger="trigger"
			@fabClick="fabClick"
		/>
	</view>
</template>

<script>
export default {
	components: {},
	data() {
		return {
			pattern: {
				color: 'gray',
				backgroundColor: '#FFFFFF',
				selectedColor: '#007AFF',
				buttonColor:'orange'
			},
			content: [
				{
					iconPath: '/static/component.png',
					selectedIconPath: '/static/componentHL.png',
					text: '组件',
					active: false
				},
				{
					iconPath: '/static/api.png',
					selectedIconPath: '/static/apiHL.png',
					text: 'API',
					active: true
				},
				{
					iconPath: '/static/template.png',
					selectedIconPath: '/static/templateHL.png',
					text: '模版',
					active: false
				}
			]
		};
	},
	methods: {
		trigger(e) {
			uni.showModal({
				title: '提示',
				content:`激活状态:${e.item.active};选中项:${e.item.text}`,
				success(res) {
					if (res.confirm) {
						console.log('用户点击确定');
					} else if (res.cancel) {
						console.log('用户点击取消');
					}
				}
			});
		},
		fabClick() {
			uni.showToast({
				title: '点击了悬浮按钮',
				icon: 'none'
			});
		}
	}
};
</script>

当不指定pattern属性时,其样式为:

当direction="vertical"时,其样式为:

当:popMenu="false"时,组件将不可展开

### 实现 UniApp 中 `uni-fab` 组件自定义图标 为了在 UniApp 应用程序中使用 `uni-fab` 组件并实现自定义图标的效果,有多种方法可供选择。 #### 方法一:通过修改组件内部属性设置图标 可以在引入 `uni-fab` 组件时直接指定图标的类型。这可以通过增加特定的属性来完成,在模板部分添加 `:type="icon"` 属性用于控制显示哪个图标[^1]: ```html <template> <view> <!-- 使用 type 属性来自定义图标 --> <uni-fab :type="icon" /> </view> </template> <script> export default { data() { return { icon: 'home', // 自定义图标名称 }; } }; </script> ``` #### 方法二:利用样式覆盖更改默认图标 如果不希望改动原生组件源码,则可通过 CSS 或者 LESS 来重写 `.uniui-plusempty:before` 类的选择器内容,从而改变悬浮按钮上的图标。这种方式不需要编辑核心文件,只需创建一个新的样式表或是在现有样式里加入相应规则即可[^4]: ```css <style lang="less"> .fab{ .uniui-plusemempty:before { content: '\e654' !important; } } </style> ``` 同时还需要确保全局样式能够被应用到项目中的所有页面上,因此要在入口文件 main.js 导入外部样式资源: ```javascript import './assets/css/index.less' ``` 另外一种方式是直接在 `<uni-fab>` 标签内设定固定的图标名作为静态属性传递给子组件[^2]: ```html <uni-fab ref="fab" ... icon="icon-bianji"/> ``` 以上两种方案都可以有效地帮助开发者达到定制化的需求,具体采用哪一种取决于实际开发场景和个人偏好。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值