【uniapp】多规格选择

news2024/11/27 20:27:09

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

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>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tolist()读取Excel列数据,(Excel列数据去重后,重新保存到新的Excel里)

从Excel列数据去重后&#xff0c;重新保存到新的Excel里 import pandas as pd# 读取Excel文件 file r"D:\\pythonXangmu\\quchong\\quchong.xlsx" # 使用原始字符串以避免转义字符 df pd.read_excel(file, sheet_namenameSheet)# 删除重复值 df2 df.drop_duplica…

HTTP打怪升级之路

新手村 上个世纪80年代末&#xff0c;有一天&#xff0c;Tim Berners-Lee正在工作&#xff0c;他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件&#xff0c;但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到&#xff0c;他需要一种新的协议来共享二进制…

IntelliJ IDEA 如何配置git

在 IntelliJ IDEA 中配置 Git 的步骤如下&#xff1a; 打开 IntelliJ IDEA。找到 File–>Setting–>Version Control–>Git–>Path to Git executable。在 Git 的安装路径下找到 cmd 文件夹下的 git.exe&#xff0c;到此 Git 配置已完成。

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程 1. 安装Anaconda 网址&#xff1a;https://repo.anaconda.com/archive/ 选择第一个下载即可 双击exe文件&#xff0c;按安装向导安装即可&#xff08;除安装路径自己选择外&#xff0c;其余均可按默认选项&#x…

02 Deep learning algorithm

Neural Networks target&#xff1a; inference&#xff08;prediction&#xff09;training my own modelpractical advice for building machine learning systemdecision Tress application: speech&#xff08;语音识别&#xff09; ----> images(计算机视觉)—> t…

【Redis-09】Redis哨兵机制的实现原理-Sentinel

Sentinel是Redis高可用性的解决方案&#xff1a;由一个或者多个Sentinel实例组成的哨兵系统监视多个主从服务器&#xff0c;并实现主从服务器的故障转移。 Sentinel本质上只是一个运行在特殊模式下的Redis服务器&#xff0c;使用以下命令可以启动并初始化一个Sentinel实例&…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件,主要用于框架…

灸哥问答:数据结构对软件开发的作用

在软件开发的浩瀚海洋中&#xff0c;数据结构如同一座坚固的灯塔&#xff0c;为开发者指明方向&#xff0c;确保他们在构建复杂系统时不会迷失。数据结构不仅仅是编程的基础&#xff0c;更是高效、稳定、可扩展软件的核心。 一、提升算法效率 数据结构与算法紧密相连&#xf…

linux 使用iniparser读取.ini文件的配置信息

为什么要用项目配置文件 对于很多程序中要用的参数如果是可变的&#xff0c;那么最好的处理方式就是通过main(int argc,char **argv) 函数参数传递&#xff0c;或者从别的地方去获取&#xff0c;这其中之一就是配置文件&#xff0c;但是在一个成熟和架构完善的系统&#xff0c…

Spring之强大的DefaultListableBeanFactory

系列文章目录 如何查看类继承结构参考这里 文章目录 系列文章目录一、DefaultListableBeanFactory的类继承实现结构二、实现接口 一、DefaultListableBeanFactory的类继承实现结构 二、实现接口 AliasRegistry&#xff1a;支持别名功能&#xff0c;一个名字可以对应多个别名B…

Leetcode2962. 统计最大元素出现至少 K 次的子数组

Every day a Leetcode 题目来源&#xff1a;2962. 统计最大元素出现至少 K 次的子数组 解法1&#xff1a;滑动窗口 算法如下&#xff1a; 设 mx max⁡(nums)。右端点 right 从左到右遍历 nums。遍历到元素 xnums[right] 时&#xff0c;如果 xmx&#xff0c;就把计数器 co…

qt源码阅读准备

qt源码阅读准备 阅读qt源码前先了解以下知识&#xff0c;对阅读qt源码有极大的好处。 D-pointer介绍 D-pointer介绍 d-pointer它可以把一个类库的实施细节对使用的用户隐藏&#xff0c; 而且对实施的更改不会打破二进制兼容。其基本贯穿qt所有类。 Qt类的的结构 我们以QO…

【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的。由于规则粒子没有方向(只有位置)&#xff0c;因此无法模拟扭转效应(维基百科)&#xff0c;绳子也无法保持其静止形状。然而&#xff0c;与杆不同的是&#xff0c;绳索可以被撕裂/劈开&#xff0c;并且可以在运行时改变其…

第3章 【例题】(完整版)

目录 前言 【例3.1】有关成绩结构体的例子 【例3.2】使用Score类的完整程序 【例 3.3】一个存在错误的程序 【例3.4】用对象赋值语句的例子 【例3.5】为类Score定义一个构造函数 【例3.6】建立对象的同时&#xff0c;用构造函数给数据成员赋初值 【例3.7】用成员初始…

智能手机2024:狂卷“微创新”后如何突破新机遇

文 | 智能相对论 作者 | 楷楷 2023年&#xff0c;智能手机市场终于开始展露曙光。Counterpoint Research数据显示&#xff0c;2023年10月全球智能手机销量同比增长5%&#xff0c;智能手机市场出货量在经历了连续27个月的同比下滑后&#xff0c;首次出现同比正增长。 特别是在…

IDEA卡在”正在解析Maven依赖项“的解决方法

修改Maven镜像&#xff0c;修改Maven镜像为阿里云镜像 1.文件路径 C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins 2.因为我使用的是InteliJ idea 自带的Maven&#xff0c;所以直接去idea 插件安装目录&#xff0c;找到Maven插件&#xff0c;找到setting.xml 文…

Linux第4步_安装VMwareTools

安装Ubuntu操作系统后&#xff0c;就可以安装VMwareTools了&#xff0c;目的是实现“电脑和虚拟机之间互相复制粘贴文件”。 1、双击桌面图标“VMware Workstation Pro”&#xff0c;然后点击下图中的“开机”&#xff0c;打开虚拟机电源。 2、双击下图中的用户名“zgq” 3、…

Ubuntu上使用node搭建本地静态http服务器

1.搭建步骤 1.安装Node.js。首先确保你的Ubuntu系统已经安装了Node.js。如果没有安装&#xff0c;可以通过以下命令进行安装&#xff1a; sudo apt-get update sudo apt-get install nodejs #安装nodejs 2.安装npm。npm是Node.js的包管理器&#xff0c;一般会随着Node.js一…

面试算法90:环形房屋偷盗

题目 一条环形街道上有若干房屋。输入一个数组表示该条街道上的房屋内财产的数量。如果这条街道上相邻的两幢房屋被盗就会自动触发报警系统。请计算小偷在这条街道上最多能偷取的财产的数量。例如&#xff0c;街道上5家的财产用数组[2&#xff0c;3&#xff0c;4&#xff0c;5…

【Filament】加载obj和fbx模型

1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等&#xff0c;Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式&#xff0c;然后再加载显示。对于 gltf 格式模型&#xff0c;可以通过 ModelViewer 加载显示&#xff0c;这不在本文的讨论范围内。 1…