【CSS】uniapp中实现动态button group(一组按钮两边圆角中间直角)

以下代码可以直接拿去用!按自己的情况改一下data就好啦,样式也可以根据自己的添加,我提供的样式基本上没有什么多余的样式

效果如下:
在这里插入图片描述

<view class="button-group">
	<view v-for="(button, index) in buttons" :key="index" class="button-item"
		:class="{ 'active': selectedSaleAnalysis === button.label }" @click="handleButtonClick(button)">
		{{ button.label }}
	</view>
</view>

data中的数据如下:

buttons: [{
	label: '今年',
	getUrl: 'getTerminalYearSaleInfo',
	xlength: 12
},
{
	label: '近 30 天',
	getUrl: 'getTerminalMonthSaleInfo',
	xlength: 30
},
{
	label: '近 7 天',
	getUrl: 'getTerminalWeekSaleInfo',
	xlength: 7
},
{
	label: '昨日',
	getUrl: 'getTerminalDaySaleInfo',
	xlength: 24
},
],

css 样式如下:(选择器是核心代码)

.button-group {
 	display: flex;
	margin: 20rpx 30rpx;
}

.button-item {
	flex: 1;
	text-align: center;
	padding: 10px;
	border: 1px solid #ccc;
	border-left: none;
	cursor: pointer;
}

.button-group .button-item:first-child {
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border-left: 1px solid #ccc;
}

.button-group .button-item:last-child {
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
}

.button-group .button-item:not(:first-child):not(:last-child) {
	border-radius: 0px;
}

.active {
	background-color: #007aff;
	color: #fff;
	border: none;
	border-top: 1px solid #007aff;
	border-bottom: 1px solid #007aff;
}

methods 方法:

handleButtonClick(button) {
	this.selectedSaleAnalysis = button.label; //切换选中的button
},
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值