uniapp修改picker-view样式
解决问题:
1.选中文案样式,比如字体颜色
2.修改分割线颜色
3.多列时,修改两边间距让其平分
展示效果:
代码如下
<template><u-popup :show="showPicker" :safeAreaInsetBottom="false" @close="close"><view class="title-box"><view class="title">{{title}}</view><text class="iconfont icon-guanbidankuang" @click="close"></text></view><picker-view class="picker-view" indicator-class="picker-selected" immediate-change :value="innerIndex"@change="changeHandler"><picker-view-column><view class="item" :class="columns2.length==0||columns3.length==0?'first-item':'col1'"v-for="(item, index) in columns" :key="index"><!-- 设置选中文字样式class --><view :class="columns[innerIndex[0]].text==item.text?'selected-text':''">{{item.text}}</view></view></picker-view-column><picker-view-column v-if="columns2&&columns2.length>0"><view class="item" v-for="(item, index) in columns2" :key="index"><view :class="columns2[innerIndex[1]].text==item.text?'selected-text':''">{{item.text}}</view></view></picker-view-column><picker-view-column v-if="columns3&&columns3.length>0"><view class="item" v-for="(item, index) in columns3" :key="index"><view :class="columns3[innerIndex[2]].text==item.text?'selected-text':''">{{item.text}}</view></view></picker-view-column></picker-view><view class="btn-box"><view class="btn" @click="close('submit')">确定</view></view></u-popup>
</template><script>export default {data() {return {innerIndex: [0, 0, 0],showPicker: false,currentData: [],previousValue: [0, 0, 0] // 用于保存之前的选中值}},props: {columns: {type: Array,default: []},columns2: {type: Array,default: []},columns3: {type: Array,default: []},show: {type: Boolean,default: false},title: {type: String,default: '请选择'},selectIndex: {type: Array,default: []}},watch: {show: function() {this.showPicker = this.show},selectIndex() {this.innerIndex = this.selectIndex}},mounted() {if (this.selectIndex && this.selectIndex.length > 0) {this.innerIndex = this.selectIndex}this.currentData = [this.columns[this.innerIndex[0]], this.columns2.length > 0 ? this.columns2[this.innerIndex[1]] : {}, this.columns3.length >0 ? this.columns3[this.innerIndex[2]] : {}]// console.log(this.currentData);},methods: {changeHandler(e) {const that = thisuni.vibrateShort({complete() {console.log(e);that.innerIndex = e.detail.valueconst previousValue = that.previousValue;// 判断哪一列发生了变化for (let i = 0; i < that.innerIndex.length; i++) {if (that.innerIndex[i] !== previousValue[i]) {// console.log(`第 ${i + 1} 列发生了变化`);that.$emit('changeIndex', i + 1)break;}}that.previousValue = that.innerIndexthat.currentData = [that.columns[e.detail.value[0]], that.columns2.length > 0 ? that.columns2[e.detail.value[1]] : {},that.columns3.length > 0 ? that.columns3[e.detail.value[2]] : {}]// that.currentData = that.columns[e.detail.value[0]]}})},close(type) {// this.showPicker = falseif (type === 'submit') {console.log(this.currentData);this.$emit('submit', this.currentData)} else {this.$emit('close', true)}}}}
</script><style lang="scss" scoped>.title-box {padding: 28rpx 0;display: flex;justify-content: center;align-items: center;.title {font-weight: 500;font-size: 32rpx;}.icon-guanbidankuang {font-size: 60rpx;position: absolute;right: 40rpx;}}.picker-view {height: 480rpx;margin-bottom: 34rpx;margin-top: 48rpx;padding: 0 60rpx;.item {// line-height: 96rpx;// text-align: center;font-size: 28rpx;display: flex;align-items: center;justify-content: flex-end;}.first-item {justify-content: center;}.col1 {justify-content: flex-start;}}.btn-box {padding: 12rpx 24rpx;z-index: 9;box-shadow: 0px 4rpx 16rpx 0px rgba(0, 0, 0, 0.1);padding-bottom: calc(env(safe-area-inset-bottom) + 12rpx);.btn {border-radius: 20rpx;background: $primary-color;height: 74rpx;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 28rpx;letter-spacing: 0.84rpx;font-weight: 600;}}
</style>
<style>.picker-selected {height: 96rpx;}.picker-selected::before {content: '';position: absolute;top: 0;border: 2rpx solid #FAFAFA;}.selected-text {font-weight: 500;}.picker-selected::after {content: '';position: absolute;bottom: 0;border: 2rpx solid #FAFAFA;}
</style>
引用,省略数据填充
<template><selection-picker v-if="columnsTime.length>0" :show="showTime" :columns="columnsTime" :selectIndex="selectIndex" :columns2="columnsTime2" :columns3="columnsTime3" title="请选择出发时间" @close="showTime=false" @submit="getTime"></selection-picker>
</template><button @click="showTime=true">打开</button><script>export default {data() {return {showTime: false}}}
</script>
相关文章:

uniapp修改picker-view样式
解决问题: 1.选中文案样式,比如字体颜色 2.修改分割线颜色 3.多列时,修改两边间距让其平分 展示效果: 代码如下 <template><u-popup :show"showPicker" :safeAreaInsetBottom"false" close&quo…...

HDFS Java 客户端 API
一、基本调用 Configuration 配置对象类,用于加载或设置参数属性 FileSystem 文件系统对象基类。针对不同文件系统有不同具体实现。该类封装了文件系统的相关操作方法。 1. maven依赖pom.xml文件 <dependency><groupId>org.apache.hadoop</groupId&g…...

【华三】STP的角色选举(一文讲透)
【华三】STP的角色选举 一、引言二、STP基础概念扫盲三、根桥选举过程详解四、根端口选举过程详解五、指定端口选举过程详解六、阻塞端口七、总结与配置建议七、附录**1. BPDU字段结构图(文字描述)****2. 华三STP常用命令速查表** 文章总结 一、引言 在…...
【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解
【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解 在 C# 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态可以分为静态多态和动态多态,下面将详细介绍它们以及各自包含的知识点。 多态概述 多态性使得代码更加灵活、可扩展…...

宇树科技13家核心零部件供应商梳理!
2025年2月6日,摩根士丹利(Morgan Stanley)发布最新人形机器人研报:Humanoid 100: Mapping the Humanoid Robot Value Chain(人形机器人100:全球人形机器人产业链梳理)。 Humanoid 100清单清单中…...

Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战
一、LinkedHashMap ①LinkedHashMap集合和HashMap集合的用法完全相同。 ②不过LinkedHashMap可以保证插入顺序。 ③LinkedHashMap集合因为可以保证插入顺序,因此效率比HashMap低一些。 ④LinkedHashMap是如何保证插入顺序的? 底层采用了双向链表来记…...

goland无法debug项目
1、其实个原因是因为正在使用的Delve调试器版本太旧,无法兼容当前的Go语言版本1.2。Delve是Go语言的一个调试工具,用于提供源码级别的调试功能。Go语言每隔一段时间会发布新版本,而相应的调试器Delve也可能会更新以提供新的特性或修复已知问题…...
深入探索 DeepSeek 在数据分析与可视化中的应用
在数据驱动的时代,快速且准确地分析和呈现数据对于企业和个人都至关重要。DeepSeek 作为一款先进的人工智能工具,凭借其强大的数据处理和可视化能力,正在革新数据分析的方式。 1. 数据预处理与清洗 在进行数据分析前,数据预处理…...

python面试题整理
Python 如何处理异常? Python中,使用try 和 except 关键字来捕获和处理异常 try 块中放置可能会引发异常的代码,然后在except块中处理这些异常。 能补充一下finally的作用吗? finally 块中的代码无论是否发生异常都会执行…...

大型装备故障诊断解决方案
大型装备故障诊断解决方案 方案背景 在全球航空工业迅猛发展的背景下,我国在军用和民用飞机自主研发制造领域取得了显著成就。尤其是在国家大力支持下,国内飞机制造企业攻克了诸多关键技术难题,实现了从设计研发到生产制造再到售后保障的完整…...

基于SpringBoot+vue+uniapp的智慧旅游小程序+LW示例参考
系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…...

小怿学习日记(七) | Unreal引擎灯光架构
灯光的布局对于HMI场景中车模的展示效果有着举足轻重的地位。本篇内容将简单介绍ES3.1的相关知识,再深入了解Unreal引擎中车模的灯光以及灯光架构。 一、关于ES3.1 1.1 什么是ES3.1 ES3.1这个概念对于美术的同学可能比较陌生,ES3.1指的是OpenGL ES3.1&…...
网络运维学习笔记 013网工初级(HCIA-Datacom与CCNA-EI)DHCP动态主机配置协议(此处只讲华为)
文章目录 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)网关配置DHCP服务器配置如果没有DHCP服务器,只在网关上做DHCP服务器: DHCP(Dynamic Host Configuration Protocol,动态主…...

javaEE-14.spring MVC练习
目录 1.加法计算器 需求分析: 前端页面代码: 后端代码实现功能: 调整前端页面代码: 进行测试: 2.用户登录 需求分析: 定义接口: 1.登录数据校验接口: 2.查询登录用户接口: 前端代码: 后端代码: 调整前端代码: 测试/查错因 后端: 前端: lombok工具 1.引入依赖…...
HTML/CSS中并集选择器
1.作用:选中多个选择器对应的元素,又称:分组选择器 所谓并集就是或者的含义. 2.语法:选择器1,选择器2,选择器3,......选择器n 多个选择器通过,连接,此处,的含义就是:或. .rich,.beauty{color: blue;} 3.注意事项 1.并集选择器,我们一般竖着写 2.任何形式的选择器,都可以作为并…...

可编辑35页PPT | DeepSeek如何赋能职场应用
DeepSeek作为一款基于人工智能技术的多模态AI工具,近年来在职场应用中迅速崭露头角,以其强大的功能和高效的表现赢得了广泛的赞誉。DeepSeek融合了文本生成、图像创作、数据分析与可视化等多种功能,为职场人士提供了前所未有的便利和效率提升…...
CSS `transform` 属性详解:打造视觉效果与动画的利器
CSS transform 属性详解:打造视觉效果与动画的利器 引言一、transform 属性简介二、平移(Translation)三、旋转(Rotation)四、缩放(Scale)五、倾斜(Skew)六、组合变换&am…...
Windows使用docker部署fastgpt出现的一些问题
文章目录 Windows使用docker部署FastGPT出现的一些问题1.docker部署pg一直重启的问题2.重启MongoDB之后一直出现“Waiting for MongoDB to start...”3.oneapi启动不了failed to get gpt-3.5-turbo token encoder Windows使用docker部署FastGPT出现的一些问题 1.docker部署pg一…...
Spring Boot中如何使用Thymeleaf模板引擎
Thymeleaf 是一个现代化的服务器端 Java 模板引擎,在 Spring Boot 项目中使用它可以方便地将 Java 代码和 HTML 页面进行整合,生成动态的 Web 页面。以下将详细介绍在 Spring Boot 中如何使用 Thymeleaf 模板引擎。 1. 添加依赖 如果你使用的是 Maven 项目,在 pom.xml 中添…...

C/C++跳动的爱心
系列文章 序号直达链接1C/C李峋同款跳动的爱心2C/C跳动的爱心3C/C经典爱心4C/C满屏飘字5C/C大雪纷飞6C/C炫酷烟花7C/C黑客帝国同款字母雨8C/C樱花树9C/C奥特曼10C/C精美圣诞树11C/C俄罗斯方块小游戏12C/C贪吃蛇小游戏13C/C孤单又灿烂的神14C/C闪烁的爱心15C/C哆啦A梦16C/C简单…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...