uniapp-vue3-微信小程序-按钮组wo-btn-group

这篇具有很好参考价值的文章主要介绍了uniapp-vue3-微信小程序-按钮组wo-btn-group。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

采用uniapp-vue3实现, 是一款支持高度自定义的按钮组组件,支持H5、微信小程序(其他小程序未测试过,可自行尝试)

可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id=15012

  • 使用示例

uniapp-vue3-微信小程序-按钮组wo-btn-group,uni-app,微信小程序,vue.js,前端,javascript,小程序文章来源地址https://www.toymoban.com/news/detail-723673.html

<template>
	<view>
		<view class="name">按钮组组件: wo-btn-group</view>
		<view class="card">
			<view class="header">默认样式(包括disabled禁用)</view>
			<view class="content">
				<woBtnGroup :default-value="state.value" @change="onChange"></woBtnGroup>
			</view>
		</view>
		<view class="card">
			<view class="header">按钮形状:椭圆(默认)、方形、圆形</view>
			<view class="content">
				<view class="box">
					<view class="title">默认椭圆:</view>
					<woBtnGroup :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<view class="title">方形:</view>
					<woBtnGroup :shape="'space'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<view class="title">圆形(圆形无边框):</view>
					<woBtnGroup :shape="'round'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
			</view>
		</view>
		<view class="card">
			<view class="header">轮廓:</view>
			<view class="content">
				<view class="box">
					<woBtnGroup outline :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<woBtnGroup outline :shape="'space'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<woBtnGroup outline :shape="'round'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
			</view>
		</view>
		<view class="card">
			<view class="header">自定义颜色:</view>
			<view class="content">
				<view class="box">
					<woBtnGroup outline :color="'orange'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<woBtnGroup :color="'orange'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
			</view>
		</view>
		<view class="card">
			<view class="header">自定义边框:</view>
			<view class="content">
				<view class="box">
					<view class="title">无边框:</view>
					<woBtnGroup :border-obj="state.borderStyle1" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<view class="title">虚线边框:</view>
					<woBtnGroup outline :border-obj="state.borderStyle2" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<view class="title">圆角幅度:</view>
					<woBtnGroup outline :border-obj="state.borderStyle3" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box">
					<view class="title">边框宽度:</view>
					<woBtnGroup :border-obj="state.borderStyle4" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
			</view>
		</view>
		<view class="card">
			<view class="header">自定义暗黑模式:</view>
			<view class="content">
				<view class="box dark1">
					<woBtnGroup :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box dark1">
					<woBtnGroup :shape="'round'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box dark dark-border">
					<woBtnGroup :shape="'round'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box dark dark-border">
					<woBtnGroup :border-obj="state.borderStyle1" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box dark dark-border1">
					<woBtnGroup :shape="'space'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
				<view class="box dark dark-border1">
					<woBtnGroup :border-obj="state.borderStyle1" :shape="'space'" :default-value="state.value" :options="state.options" @change="onChange"></woBtnGroup>
				</view>
			</view>
		</view>
	</view>
</template>

<script setup lang="ts">
import woBtnGroup from './woBtnGroup.vue'
import { reactive } from 'vue';

const state = reactive({
	borderStyle1: {
		isShow: false,
		size: '4rpx',
		style: 'dashed',
		radius: '70rpx'
	},
	borderStyle2: {
		isShow: true,
		size: '4rpx',
		style: 'dashed',
		radius: '70rpx'
	},
	borderStyle4: {
		isShow: true,
		size: '12rpx',
		style: 'solid',
		radius: '70rpx'
	},
	borderStyle3: {
		isShow: true,
		size: '4rpx',
		style: 'solid',
		radius: '16rpx'
	},
	value: 1,
  options: [
    {
      label: '按钮1',
      value: 1,
    },
		{
		  label: '按钮2',
		  value: 2,
			disabled: true
		},
    {
      label: '按钮3',
      value: 3,
    },
		{
		  label: '按钮4',
		  value: 4,
		},
		{
		  label: '按钮5',
		  value: 5,
		},
  ],
});
const onChange = (e: any) => {
	console.log('点击按钮:', e);
};
</script>

<style scoped>
.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}
.name {
	font-weight: bold;
	padding: 40rpx 0 10rpx 20rpx;
}
.title {
	padding-bottom: 10rpx;
}
.box {
	margin: 20rpx
}
.dark1 {
	background-color: black;
	color: #fff;
	border-radius: 70rpx;
}
.dark {
	background-color: black;
	color: #fff;
}
.dark-border {
	padding: 10rpx;
	border-radius: 70rpx;
	border: 6rpx solid #3370FF;
}
.dark-border1 {
	padding: 10rpx;
	border: 6rpx solid #3370FF;
}
.card {
	background: #f1f1f1;
	margin: 40rpx 10rpx;
	padding: 30rpx;
	border-radius: 12rpx;
}
.header {
	font-size: 26rpx;
	display: flex;
	align-items: center;
	margin-bottom: 30rpx;
}
.content {
	font-size: 24rpx;
	/* padding-bottom: 20rpx; */
	/* background-color: black; */
	/* color: #fff; */
}
/* .btn-border {
	font-size: 28rpx;
	border: 4rpx solid #3370FF;
	padding: 4rpx;
	border-radius: 70rpx;
} */
</style>

到了这里,关于uniapp-vue3-微信小程序-按钮组wo-btn-group的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp-vue3语法实现小程序全局分享(setup,mixin)

    随着vue3的普及uniapp官方也支持了vue3语法的编写 相信大家在开发过程中肯定碰到过小程序所有页面都要开启分享功能的需求;指定的页面(如:文章详情页)有单独的配置,而非单独配置的页面(如:付费的订单详情页)都是统一跳转到首页 我的做法如下: 此时小程序所有页的分

    2024年01月21日
    浏览(53)
  • uniapp微信小程序全局所有页面放置一个跳转首页的可以拖动的悬浮按钮

    把上面的静态解构放到src/components/movable/movable.vuewe文件作为自定义组件 此处用的到时uniapp的movable-area组件和内嵌 movable-view 组件,其中movable-area表示可拖动的范围,movable-view用于指示可拖动的区域。 参照文档:movable-area | uni-app官网     movable-view | uni-app官网 想要实现每个页

    2024年02月03日
    浏览(50)
  • uniapp微信小程序:点击按钮先判断用户是否授权位置信息、用户位置信息授权、进入下一个页面

    前提 :该实例是使用uniapp的小程序 实现的 文章描述: 这里要实现的功能是: 1、点击页面中的一个按钮 2、判断用户是否授权位置信息 3、未授权–弹出位置授权框;已授权–进入下一个页面(地址选择页); 4、弹出位置授权框后,是否同意授权 5、同意:得到地址;不同

    2024年02月08日
    浏览(61)
  • Uniapp,vue拉起地图导航(微信小程序)

    wx.getLocation()方法 这个方法需要在首页调用一下 还需要再 app.json 里面加入 不然上线的时候审核不过 然后在你点击拉起按钮方法里面写入这个wx.openLocation()方法 切记里面的经纬度需要转成数字( Number 类型)例如: 按钮 方法 Markdown 图标 快捷键 撤销 Ctrl /⌘+Z 重做 Ctrl /⌘+Y 加

    2024年02月10日
    浏览(63)
  • 地铁在线售票vue票务系统uniAPP+vue 微信小程序

    功能介绍 管理员 (1)管理员登录功能 (2)查看和修改线路信息 (3)减少线路 (4)修改价格(5站3元 5-10 5元 10-15站6元 往上8元) (5)删除用户 (6)设定最早最晚的车次(早上6.00晚上23.00) 用户 (1)登陆注册功能:用户登录注册 (2)浏览全地图功能:可浏览管理员发

    2024年01月20日
    浏览(60)
  • 基于SpringBoot+Vue+uniapp微信小程序的微信小程序书店的详细设计和实现

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年03月17日
    浏览(79)
  • 微信小程序 uniapp+vue电子数码商城系统

    电子数码商品交易系统具有商品分类、商品信息功能。电子数码商品交易系统采用Java语言,uniapp框架,基于mysql数据开发,实现了用户、商家、商品分类、商品信息、订单信息等内容进行管理,本小程序具有良好的兼容性和适应性,为用户提供更多的信息,也提供了良好的平

    2024年04月09日
    浏览(65)
  • UniApp、微信小程序、Vue常用的UI组件

    在前端项目开发过程中,总是会引入一些UI框架,已为方便自己的使用,很多大公司都有自己的一套UI框架,下面就是最近经常使用并且很流行的UI框架。 MintUI是饿了么团队开发基于vue.js的移动端UI框架,它包含丰富的CSS和JS组件,能够满足日常的移动端开发需要。 官网地址:

    2024年02月12日
    浏览(49)
  • vue uniapp 微信小程序 搜索下拉框 模糊搜索

    话不多说 直接贴代码 MVVM 就是 Model-View-ViewModel 的缩写,MVVM 将视图和业务逻辑分开。 View:视图层,Model 数据模型,而 ViewModel 是把两者建立通信的桥梁。 在 MVVM 框架下,View 和 Model 之间没有直接的联系,而是通过 ViewModel 进行交互。View 和 ViewModel 之间以及 Model 和 ViewModel 之

    2024年02月09日
    浏览(93)
  • uniapp+vue城市应急救援辅助系统 微信小程序

     功能需求分析的任务是通过详细调查城市应急救援辅助系统要处理的所有对象,通过充分了解城市应急救援辅助系统的工作流程,明确使用者的各种需求,充分思考之后可能扩充和改变的情况,然后在这个基础上来设计数据库。 3.2.1 用户微信端模块    用户注册、登录之后

    2024年02月20日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包