uView u-slider 自定义滑块

news2025/1/16 13:38:40

有个需求UI设计的滑动选择器中的滑块如下所示:

项目中集成的是vView2.0组件库,u-slider组件中有 blockStyle 属性,看着是用来设置自定义滑块的。但是试了下,没有效果,不知怎么回事。看了一下uView1.0组件库 u-slider组件有自定义插槽属性,所以就想着把uView1.0 中的u-slider组件给单拎出来在项目中集成。步骤如下:

uView 2.0

 uView 1.0 

 1. 拷贝u-slider组件到项目中

     直接从uView 1.0 gitee中把u-slider.vue文件中的内容拷贝出来(https://gitee.com/umicro/uView/tree/master/uview-ui/components/u-slider)

放到自己项目中的@/components/my-slider/my-slider.vue中

注意:给组件新起一个名字my-slider  不要用原来的文件名u-slider , 也不要起名为slider。

2. 按需改造my-slider.vue

    现在slider 已经是自己项目中的一个组件了,为了方面可以对slider简单改造一下,例如给activeColor,inactiveColor 属性设置个默认颜色,这样使用的时候就不用传值了。

因为这里用自定义插槽,所以把代码也改造一下:

            <view class="u-slider__button-wrap" @touchstart="onTouchStart" 
				@touchmove="onTouchMove" @touchend="onTouchEnd" 
				@touchcancel="onTouchEnd">
				<slot v-if="$slots.default  || $slots.$default"/>
				<view v-else class="u-slider__button" :style="[blockStyle, {
					height: blockWidth + 'rpx',
					width: blockWidth + 'rpx',
					backgroundColor: blockColor
				}]"></view>
			</view>



            <view class="u-slider__button-wrap" @touchstart="onTouchStart" 
				@touchmove="onTouchMove" @touchend="onTouchEnd" 
				@touchcancel="onTouchEnd">
				<slot />
				
			</view>

 不用设置选自定义插槽属性了,直接写插槽就行了。

3. 使用my-slider组件

    使用这个组件也非常简单:

            <my-slider v-model="temperatureValue" :isBg="true">
              <view class="">
                <view class="badge-button"> {{ temperatureValue }}</view>
              </view>
            </my-slider>


 export default {
  components: { mySlider },
  data() {
    return {
      lightnessValue: 20,
      temperatureValue: 18,
    };
  },
};


  .badge-button {
    width: 104rpx;
    line-height: 72rpx;
    background: #ffffff;
    box-shadow: 4rpx 10rpx 34rpx 0px rgba(29, 22, 72, 0.2);
    border-radius: 36rpx;
    text-align: center;
  }

4. 滑动选择器两边设置图标

    UI 设计的滑动选择器两边分别放了图标,这个实现起来非常简单,父元素设置display:flex; 

    justify-content: space-between 就可以了。 但是设置后滑动选择器就不正常了。原因是滑动选择器width为auto。嗯 用个<view>标签把滑动选择器包裹一下,然后设置flex: 1,让其把滑动选择器的宽度撑开。

关于flex:1 有篇文章写的非常好:

Digging Into the Flex Property - Ahmad Shadeed

有兴趣的可以看看。

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

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

相关文章

大学生想做兼职应该怎么找,适合大学生的线上线下靠谱兼职推荐

大学生现在有很多兼职工作可以在网上和实体上做。他们可以根据个人能力和喜好进行选择。以下是一些低门槛的在线和离线兼职工作&#xff0c;希望能帮助到你。 线下兼职 1.勤工助学岗位 学校&#xff1a;通过学校提供的勤工俭学岗位&#xff0c;如办公室助理、图书馆助理等&am…

Java 线上机器 CPU 100% 的一次排查过程

文章目录1. 问题发生2. 数据库连接关闭问题排查3. 问题的进一步排查4. 解决方法1. 问题发生 日常敲代码突然收到生产环境异常告警&#xff0c;线上有一台机器 CPU 使用率飙升到 100 触发扩容&#xff0c;工作群里一下子鸡飞狗跳。 出现问题&#xff0c;首先当然是查看监控和日…

如何画架构图?

平时做过一些系统设计&#xff0c;也写过一些系统分析文章&#xff0c;从组件、关系、交互等方面提供一些建议&#xff0c;并用我之前写文章画的一些图举些例子。构成系统的组件通过形状、颜色、名称来逼近其概念。LevelDB 主要构件如上面 LevelDB 的架构图&#xff0c;包含的主…

Redis哨兵(Sentinel)

# Redis哨兵(Sentinel) Redis 的 Sentinel 系统用于管理多个 Redis 服务器&#xff08;instance&#xff09;&#xff0c; 该系统执行以下三个任务&#xff1a; 监控&#xff08;Monitoring&#xff09;&#xff1a; Sentinel 会不断地检查你的主服务器和从服务器是否运作正常…

内核参数 sched_min_granularity_ns 为什么看不到啦?

linux内核从版本v5.13-rc1起&#xff08;含&#xff09;&#xff0c;sysctl 已无法设置 kernel.sched_min_granularity_ns。 其实不止sched_min_granularity_ns&#xff0c;在 /proc/sys/kernel 下&#xff0c;和CPU调度相关的6个参数都不见了&#xff1a; sched_latency_ns …

Unity VR开发教程 OpenXR+XR Interaction Toolkit 2.1.1(七)射线抓取

文章目录&#x1f4d5;教程说明&#x1f4d5;添加射线功能的相关组件&#x1f4d5;设置 Interaction Layer Mask&#x1f4d5;让 XR Direct Interactor 不对 XR Ray Interactor 产生干扰&#x1f4d5;使抓取的物体不会吸到手上&#x1f4d5;远距离抓取时通过摇杆改变抓取物体的…

Node.js安装及环境配置

Node.js安装及环境配置1.下载安装Node.js2.npm安装路径配置3.环境变量配置4.换源5.测试npm安装1.下载安装Node.js Node.js官网 下载如图所示版本&#xff1a;&#xff08;请根据自己的系统环境选择&#xff09; 下载完成后傻瓜式安装即可 测试环境&#xff1a; PS C:\Users…

终于拿到了爆火全网的进一线大厂程序员必看的1700道java面试题

爆火全网的进一线大厂程序员必看的1700道java面试题到底有多牛&#xff1f; 牛不牛不敢说&#xff0c;但是有好多程序员是靠这一套1700道高频面试题&#xff0c;顺利收到很多大厂offer&#xff01; 以至于&#xff0c;到现在为止&#xff0c;大厂都开始按照这一套1700道面试题…

java计算机毕业设计ssm美食视频教学网站element 前后端分离

项目介绍 高校实验室信息管理平台是使用JAVA的SSM技术,MySQL作为数据库开发,用户通过查看实验室信息,在线预约实验室,实现高校实验室信息化管理。首先对本论文进行分析后,提出平台的相关技术,然后整理系统的需求分析,根据需求进行功能和数据库设计,最后进行系统实现和测试 。 …

Redis的Java客户端

目录 1 前言 2 Jedis客户端 2.1 jedis快速入门 2.2Jedis连接池 3 SpringDataRedis 3.1快速入门 3.2ReisTemplate配置序列化工具 3.3 StringRedisTemplate 1 前言 在Redis官网中提供了各种语言的客户端&#xff0c;地址&#xff1a;https://redis.io/resources/clien…

螺栓防松设计

常用的防松方法有三种&#xff1a;摩擦防松、机械防松和永久防松。机械防松和摩擦防松称为可拆卸防松&#xff0c;而永久防松称为不可拆卸防松。常用的永久防松有&#xff1a;点焊、铆接、粘合等&#xff0c;这种方法在拆卸时大多要破坏螺纹紧固件&#xff0c;无法重复使用。常…

系统测试-从研发到测试过程

系统测试是为了发现错误而执行程序的过程&#xff0c;成功的测试是发现了至今尚未发现的错误的测试。目的是在真实系统工作环境下通过与系统的需求定义作比较&#xff0c;检验完整的软件配置项能否和系统正确连接&#xff0c;发现软件与系统/子系统设计文档和软件开发合同规定不…

[Redis] Redis实战--EVAL

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

基于移动品台的产品追溯系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

骚戴独家笔试---算法篇

链表 反转链表 /* public class ListNode { int val; ListNode next null;ListNode(int val) { this.val val; } }*/ import java.util.Stack; public class Solution {public ListNode ReverseList(ListNode head) {Stack<ListNode> stack new Stack<>();//把…

进程间通信:无名管道+有名管道

进程间通信&#xff08;Inter-Process Communication&#xff09; 为什么需要进程间通信 当程序是多进程协同工作时&#xff0c;进程间基本都会涉及到数据共享 如何实现进程间数据的共享? 使用进程间通信来实现数据共享 进程间有时需要传递消息 --但是进程在系统有自己的地址…

msdn下载的系统怎么安装

有小伙伴们不知道安装msdn系统的具体操作&#xff0c;那么小编就教大家下载的系统怎么安装吧。 工具/原料&#xff1a; 系统版本&#xff1a;win10 专业版 品牌型号&#xff1a;联想小新Air 13 Pro 软件版本&#xff1a;小鱼一键重装系统v3.1.329.319 方法/步骤&#xff1…

UNIAPP实战项目笔记41 收货地址页面布局和省市县三级联动

UNIAPP实战项目笔记41 收货地址页面布局和省市县三级联动 my-add-path.vue 设置页面布局 具体内容图片自己替换哈&#xff0c;随便找了个图片的做示例 用到了vue的默认组件 城市选择器mpvueCityPicker,从uniappDemo中复制过来即可,具体位置见目录结构 代码 my-add-path.vue 页…

数据结构二叉排序树应用一

2022.11.19 二叉排序树应用一任务描述相关知识编程要求测试说明C/C代码任务描述 本关任务&#xff1a;输入一个无序序列&#xff0c;创建一棵二叉排序树。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.二叉排序树定义&#xff0c;2.如何创建一棵二叉排序…

黑*头条_第6章_admin端功能开发通用后端封装

黑*头条_第6章_admin端功能开发&通用后端封装 文章目录黑*头条_第6章_admin端功能开发&通用后端封装admin端功能开发&通用后端封装今日目标1 admin端的登录功能实现1.1 admin项目搭建1.2 登录接口-后端1.2.1接口定义1.2.2mapper定义1.2.3 代码编写1.3 前端项目导入…