【uniapp】多规格选择

效果图
在这里插入图片描述

VUE

<template>
<view>
	<view class="wp-80 pd-tb-40 mg-auto">
		<button type="warn" @click="showDrawer('showRight')">筛选</button>
	</view>
	<!-- 筛选-uni-drawer -->
	<uni-drawer ref="showRight" mode="right" :width="300" :top="44"
	@change="change($event,'showRight')">
	<view class="dra_position safe_area">
		<scroll-view class="scroll-view-box dra_position" scroll-y="true">
			<view class="pd-25">
				<block v-for="(item,n) in drawer_list" :key="n">
					<view class="pd-b-20">{{item.title}}</view>
					<view class="fss flex-wrap scroll-view-div">
					<block v-for="(aitem,index) in item.options" :key="index">
						<view class="radius5 fcc" :class="subIndex[n] == index?'active':''"
						@click="chooseItem(n,aitem.name,index)">
							<text>{{aitem.name}}</text>
						</view>
					</block>
					</view>
				</block>
			</view>
		</scroll-view>
		<view class="dra_close fbc bg-fff">
			<view class="btns wp-47 radius50" @click="reset">重置</view>
			<view class="btns1 wp-47 radius50" @click="closeDrawer('showRight')">确定</view>
		</view>
	</view>
	</uni-drawer>
</view>
</template>

<script>
import uniDrawer from "@/components/uni-drawer/uni-drawer.vue"
export default {
	components: { uniDrawer },
	data() {
		return {
			drawer_list: [
				{ "title": "客户来源", "name": "source",
					options:[
						{ id: 25, "name": "百度贴吧" },
						{ id: 26, "name": "淘宝" },
						{ id: 27, "name": "抖音粉丝" },
						{ id: 28, "name": "官网客服" },
						{ id: 29, "name": "百度点击" },
					]
				},{ "title": "客户级别", "name": "level",
					options:[
						{ id: 22, "name": "意向极高" },
						{ id: 23, "name": "中等意向" },
						{ id: 24, "name": "一般意向" },
					]
				},{ "title": "客服", "name": "kefu",
					options:[
						{ id: 1, "name": "男客服" },
						{ id: 2, "name": "女客服" },
					]
				}
			],
			selectArr: [],
			subIndex: [],
		}
	},
	methods: {
		chooseItem( _pIndex, _name, index) {
			if (this.selectArr[_pIndex] != _name) {
				this.$set(this.selectArr, _pIndex, _name);
				this.$set(this.subIndex, _pIndex, index);
			} else {
				this.$set(this.selectArr, _pIndex, '');
				this.$set(this.subIndex, _pIndex, -1); //去掉选中颜色
			}
			console.log(this.selectArr)
		},
		// 抽屉状态发生变化触发
		change(e, type) { this[type] = e },
		// 打开抽屉
		showDrawer(e) { this.$refs[e].open() },
		// 关闭抽屉
		closeDrawer(e) { this.$refs[e].close() },
		// 重置
		reset() {
			this.selectArr=[]
			this.subIndex=[]
		},
	}
}
</script>

<style lang="scss">
.wp-80{ width: 80%; }
.wp-47{ width: 47%; }
.mg-auto{ margin: 0 auto; }
.pd-25{ padding: 25rpx; }
.pd-b-20{ padding: 0 0 20rpx; }
.pd-tb-40{ padding: 40rpx 0; }
.bg-fff{ background-color: #FFFFFF; }
.radius5{ border-radius: 5rpx; }
.radius50{ border-radius: 50rpx; }
.flex-wrap{ flex-wrap: wrap; }
.fss{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.fbc{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fcc{
	display: flex;
	justify-content: center;
	align-items: center;
}
.safe_area{
	margin-bottom: constant(safe-area-inset-bottom);  
	margin-bottom: env(safe-area-inset-bottom); 
}
.dra_position{
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: auto;
}
.scroll-view-box{ font-size: 28rpx; bottom: 84rpx; }
.dra_close{
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 15rpx 30rpx 20rpx;
	>view{
		height: 68rpx;
		line-height: 68rpx;
		text-align: center;
	}
	.btns{ color: #a12a30; border: 1px solid #a12a30; }
	.btns1{ color: #FFFFFF; background-color: #a12a30; }
}
.scroll-view-div{
	>view:nth-child(3n-1){ margin: 0 10rpx; }
	>view{
		width: 32%;
		height: 72rpx;
		margin-bottom: 16rpx;
		text-align: center;
		background-color: #F5F5F5;
	}
	.active{
		color: #ff000b;
		background-color: #fff4f3;
	}
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/294998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为 validator 对象添加链式调用功能,并 return 校验后的值

目录 一、前置说明1、总体目录2、相关回顾3、本节目标 二、操作步骤1、项目目录2、代码实现3、测试代码4、日志输出 三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器&#xff0c;从编码到发布全过程》 2、相关回顾 使用 Raise…

JavaScript——BOM中所有对象的常用属性和方法【万字长篇超宝典】

目录 什么是BOM&#xff1f; BOM中的对象 一、window对象 1、控制台打印方法 2、弹窗相关方法 &#xff08;1&#xff09;、alert( )提示框 &#xff08;2&#xff09;、confrim( )交互框 &#xff08;3&#xff09;、prompt( )输入框 3、窗口打开关闭的方法 &#…

企业级实践为“燃料”,大模型助推Kyligence产品力向上

回顾2023年&#xff0c;最火热的科技话题无疑是生成式AI。 从ChatGPT横空出世&#xff0c;到“千模大战”如火如荼&#xff0c;AIGC正式破圈&#xff0c;成为企业数字化转型的新关键词。 在红杉中国《2023企业数字化年度指南》中&#xff0c;通过调研235家企业可知&#xff0…

所有单片机使用的汇编语言是统一的吗?

所有单片机使用的汇编语言是统一的吗&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)主线程反应堆模型的事件添加和处理详解

>>服务器和客户端建立连接和通信流程&#xff1a; 基于多反应堆模型的服务器结构图&#xff0c;这主要是一个TcpServer&#xff0c;关于HttpServer,主要是用了Http协议&#xff0c;核心模块是TcpServer。这里边有两种线程&#xff1a;主线程和子线程。子线程是在线程池里…

windows 10 安装wsl ubuntu

1.首先管理员模式打卡powershell&#xff0c;执行 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 2.执行 wsl --update wsl --…

静态网页设计——崩坏3(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; 使用技术&#xff1a;HTMLCSSJS&#xff08;静态网页设计&#xff09; 主要内容&#xff1a;对游戏崩坏3进行简单介绍。 https://www.bilib…

Spring声明式事务业务bug

Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA) 等事务 API&#xff0c;实现了一致的编程模型&#xff0c;而 Spring 的声明式事务功能更是提供了极其方便的事务配置方式&#xff0c;配合 Spring Boot 的自动配置&#xff0c;大多数 …

openGauss + Datakit

openGauss Datakit 1. 简介1.1 openGauss1.2 Datakit 2. 环境准备2.1 支持系统2.2 安装包获取2.3 注意事项2.4 系统环境设置 3. openGauss 安装3.1 创建用户和组3.2 创建工作目录3.3 关闭HISTORY记录/关闭交换内存3.4 解压安装包3.5 安装3.6 启动数据库3.7 连接数据库3.8 添加…

数据库设计——DQL

D Q L \huge{DQL} DQL ⭐⭐⭐⭐⭐ DQL&#xff1a;数据库查询语言&#xff0c;用来查询数据库中的记录&#xff0c;非常的重要&#xff0c;对于数据库的操作修改相对来讲还是较少部分&#xff0c;绝大多数操作都是数据查询。 整体的语法结构&#xff1a; 基本查询 示例&#…

【Java】LockSupport原理与使用

LockSupport&#xff1a; 关键字段&#xff1a; private static final sun.misc.Unsafe UNSAFE;private static final long parkBlockerOffset; Unsafe&#xff1a;"魔法类"&#xff0c;较为底层&#xff0c;在LockSupport类中用于线程调度(线程阻塞、线程恢复等)。…

【Unity】如何在Unity中使用C#的NuGet 包资源

【背景】 Unity的脚本语言是C#&#xff0c;而C#有很多功能和能力可以通过nuget包提供。有没有办法把这些能力结合到Unity中一起使用呢&#xff1f;如果可以&#xff0c;那将大大扩展Unity中各类功能实现的便捷性。 【方法】 答案是&#xff1a;你可以&#xff01; 获取Nuge…

经典八股文之RocketMQ

核心概念 NameServer nameserver是整个rocketmq的大脑&#xff0c;是rocketmq的注册中心。broker在启动时向所有nameserver注册。生产者在发送消息之前先从 NameServer 获取 Broker 服务器地址列表(消费者一 样)&#xff0c;然后根据负载均衡算法从列表中选择一台服务器进行消…

SSM在线手机品牌商城----计算机毕业设计

项目介绍 该项目为前后台项目&#xff0c;分为普通用户与管理员两种角色&#xff0c;前台普通用户登录&#xff0c;后台管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,用户管理,品牌管理,子品牌管理,商品管理,订单管理,留言板管理等功能。 用户角…

Note: A Journey Across Canada

A Journey Across Canada 一场横穿加拿大的旅行 across journey After a quiz last autumn, Kuang crossed the continent eastward to Toronto to visit his schoolmate, the distance measuring approximately 5000 kilometers. 去年秋天一次考试后&#xff0c;Kuang向东穿…

Ubuntu 安装 JMeter:为你的服务器配置做好准备

Apache JMeter 是一个开源的负载测试工具&#xff0c;可以用于测试静态和动态资源&#xff0c;确定服务器的性能和稳定性。在本文中&#xff0c;我们将讨论如何下载和安装 JMeter。 安装 Java&#xff08;已安装 Java 的此步骤可跳过&#xff09; 要下载 Java&#xff0c;请遵…

AI小冰入驻淘宝 将提供虚拟人陪伴服务

AI小冰正式入驻淘宝&#xff01; 据悉&#xff0c;小冰在淘宝开出了“小冰旗舰店”、以及手淘小程序“X Eva 克隆人的平行世界”&#xff0c;为消费者提供基于KOL虚拟人带来的陪伴服务体验。用户搜索“小冰旗舰店”就可以直达店铺进行选购。 ​小冰旗舰店的首批商品包括冰花直充…

【设计模式-5】抽象工厂模式的代码实现及使用场景

前面我们了解到工厂方法模式通过引入抽象工厂的概念&#xff0c;使得产品对象的创建可以依赖于具体工厂&#xff0c;但是这种设计模式最大的问题是会造成类的数量爆炸式增长。对于这个问题&#xff0c;抽象工厂模式通过引入两个新的概念&#xff1a;产品等级与产品簇&#xff0…

ant-design-vue 使用本地iconfont.js

createFromIconfontCN只能使用【在线资源】&#xff0c;但是在线资源存在不稳定的风险 有人提了issue&#xff0c;不过目前也没有解决&#xff0c;但是有人提出了一种新的的解决方案 参考链接&#xff1a; https://github.com/ant-design/ant-design/issues/16480 main.js im…

【UML建模】部署图(Deployment Diagram)

1.概述 部署图是一种结构图&#xff0c;用于描述软件系统在不同计算机硬件或设备上的部署和配置情况&#xff0c;以图形化的方式展示系统中组件、节点和连接之间的物理部署关系。 通过部署图&#xff0c;可以清晰地了解系统的物理结构和部署方式&#xff0c;包括系统组件和节…