elementui写一个自定义的rangeInput的组件

server/2024/9/20 7:12:29/ 标签: elementui, 前端, javascript

组件定义

  • 使用el-row确保元素都在一行上
  • 对外暴露的prop是minValue和maxValue,但是不建议直接使用,使用计算属性minValueComputed和maxValueComputed
  • 更改计算属性的值的不要直接更改计算属性,也不要直接更改原本的prop,通知外层的父组件来更改,通过父组件将变动传递到子组件中
  • 子组件使用prop进行属性传递的时候,应该极力避免在子组件中直接更改prop的值,获取属性值使用计算属性进行v-model绑定,不要直接绑定在prop上,因为v-model的数据流是双向的。修改值的话,监听计算属性的setter方法,当变化的时候,通知父组件键更改外部的prop的传递值
<template><el-row><el-col :span="10"><el-inputtype="number"v-model="minValueComputed":placeholder="minPlaceholder"size="mini"class="rangeInput"@input="minValueComputed = handleInput(minValueComputed)"/></el-col><el-col :span="4"><span style="text-align: center; display: block; margin-left: 5px"></span></el-col><el-col :span="10"><el-inputtype="number"v-model="maxValueComputed":placeholder="maxPlaceholder"size="mini"class="rangeInput"@input="maxValueComputed = handleInput(maxValueComputed)"/></el-col></el-row>
</template><script>javascript">
export default {name: 'RangeInput',props: {minValue: String||Number,maxValue: String||Number,minPlaceholder: String,maxPlaceholder: String,cleanFlag: Boolean},data() {return {internalMinValue: this.minValue,internalMaxValue: this.maxValue,minErrorMsg: ''}},computed: {minValueComputed: {get() {return this.internalMinValue;},set(value) {this.internalMinValue = value;this.$emit('update:minValue', value);}},maxValueComputed: {get() {return this.internalMaxValue;},set(value) {this.internalMaxValue = value;this.$emit('update:maxValue', value);}}},methods: {handleInput(value) {return value.replace(/[^\d|\.|-]/g, '');},},watch: {cleanFlag() {this.minValueComputed = '';this.maxValueComputed = '';}}
}
</script><style scoped lang="scss">
::v-deep .rangeInput .el-input__inner{width: 70px !important;height: 30px !important;
}</style><style scoped>
/deep/ input::-webkit-outer-spin-button,
/deep/ input::-webkit-inner-spin-button {-webkit-appearance: none;
}
/deep/ input[type="number"] {-moz-appearance: textfield;
}
/deep/ inpit {border: none
}
</style>

使用

给外围的el-form中加上一个inline-block,最大值和最小值不在同一行的情况

<el-form-item label="损耗比率(%)" prop="wastageRate" ><range-input:minValue.sync="wastageRateMin":maxValue.sync="wastageRateMax"minPlaceholder="最小值"maxPlaceholder="最大值":cleanFlag="rankInputCleanFlag"/>
</el-form-item>

http://www.ppmy.cn/server/50108.html

相关文章

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介&#xff1a; 本文旨在解决生物血细胞数目统计的挑战&#xff0c;提出了基于图像处理的综合方案。通过MATLAB平台&#xff0c;我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段&#xff0c;采用图像增强和阈值分割等方法&#xff0c;有效地提高了细胞图像的…

隐私计算和机密计算的区别

隐私计算和机密计算都是为了在处理数据时保护数据的安全和隐私&#xff0c;但它们在实现方式和应用场景上有所不同。 隐私计算 (Privacy Computing) 隐私计算主要关注在数据分析和处理过程中如何保护数据的隐私。它的核心目标是确保数据在使用过程中不被泄露&#xff0c;特别…

Spring boot 注解实现幂等性

1. 添加 Spring AOP 依赖 在 pom.xml 中添加如下依赖&#xff1a; <dependencies><!-- Spring AOP dependency --><dependency><groupIdorg.springframework.boot</groupId><artifactIdspring-boot-starter-aop</artifactId></depend…

视频云沉浸式音视频技术能力探索与建设

概述 随着传输技术、显示技术与算力的持续提升&#xff0c;用户对于音视频体验的需求在提高&#xff0c;各家设备厂商也在探索和推出对应的技术与产品。打造空间感的空间视频与空间音频是其中最为关键的2项技术&#xff0c;bilibili视频云在这两项技术领域也进行了相关代探索与…

单目物体测距

单目测距是一种利用单个摄像头来获取场景深度信息的技术。根据搜索结果,以下是一些常见的单目测距方法: 1. **相似三角形法**:这是一种基于几何原理的方法,通过已知物体的尺寸和在图像中的像素宽度来计算物体与相机之间的距离。 2. **基于已知运动的测量方法**:这种方法…

国家商用密码算法-SM4Tool.jar

SM4Tool.jar是指一个特定的Java工具集&#xff0c;用于实现SM4&#xff08;国家商用密码算法之一&#xff09;的加密和解密功能。SM4是一种分组密码算法&#xff0c;广泛应用于中国的各种安全通信场景中&#xff0c;如金融、电子政务、物联网等。 功能 加密与解密&#xff1a;…

PostgreSQL源码分析——WAL日志(二)

接上篇&#xff1a;《PostgreSQL源码分析——WAL日志&#xff08;一&#xff09;》 日志的组成 日志的注册主要是将WAL日志所需的信息保存在内存中&#xff0c;这些信息需要由XLogRecordAssemble函数组装成为最终的日志记录&#xff0c;主要是处理日志记录中与页面&#xff0…

Bureau of Contacts延迟高、卡顿、无法联机怎么办?

Bureau of Contacts是一款最多支持四个人联机玩的恐怖游戏&#xff0c;由MIROWIN开发并发行&#xff0c;6月20日在steam推出抢先体验版&#xff0c;相信喜欢恐怖游戏的玩家已经等不及了。玩家会扮演一名特工&#xff0c;接触并调查超自然现象&#xff0c;游戏分为调查和驱魔两个…

大话设计模式解读03-装饰模式

本篇文章&#xff0c;来解读《大话设计模式》的第6章——装饰模式。并通过C代码实现实例代码的功能。 注&#xff1a;第3~6章讲的是设计模式中的一些原则&#xff08;第3章&#xff1a;单一职责原则&#xff1b;第4章&#xff1a;开放-封闭原则&#xff1b;第5章&#xff1a;依…

Java Web防止同一用户同时登录实现方式

在Java Web应用中防止用户重复登录&#xff0c;主要是通过维护用户的会话状态来实现。 以下是几种常见的实现方式&#xff1a; 1. 使用Session 最直接的方式是利用HTTP Session。 当用户登录成功后&#xff0c;服务器为其创建一个唯一的Session&#xff0c;并将用户信息保存在…

Springboot整合阿里云ONS RocketMq(4.0 http)

1. 引入依赖 <!--阿里云ons&#xff0c;方便的接入到云服务--> <dependency><groupId>com.aliyun.openservices</groupId><artifactId>ons-client</artifactId><version>1.8.4.Final</version> </dependency>2. 配置 配…

Linux系统mysql数据库备份和还原操作

Linux系统mysql数据库备份和还原操作 1、数据备份命令 &#xff08;1&#xff09;备份单个数据库 mysqldump -u username -p test>/home/bak/test20230708.sqlusername&#xff1a;表示数据库用户名称&#xff1b; test&#xff1a;是需要备份的数据库名称&#xff1b; 右…

vscode字符多行自动增长插件。

多行字符自动增长插件CharAutoIncre 当你使用shiftalt选中了多行,并输入了’1’,这时这几行都变成了’1’. 这时你可以选中&#xff08;shift左键&#xff09;为’1’的这几行, 接下来按下shiftaltq此时’1’变为了’12345’自增长的样式。 同时本插件支持字符’a-z,A-Z’。 目…

Adobe Bridge简体中文版软件下载与安装(附保姆级教程)

Adobe Bridge常常被简称为BR&#xff0c;它是一款功能强大的看图选图软件&#xff0c;也是Adobe系列软件之一。BR可以与PS、ACR等无缝衔接&#xff0c;针对市面上几乎所有格式的图片&#xff0c;打通“看图--选图--修图”三个环节&#xff0c;更为流畅完整。除此之外&#xff0…

第十站:Java白——测试与调试的艺术

JUnit作为单元测试的首选工具&#xff0c;帮助开发者确保每个模块按预期工作。Mockito等模拟框架则使得复杂系统中的隔离测试成为可能。而集成开发环境&#xff08;IDE&#xff09;如IntelliJ IDEA&#xff0c;凭借其强大的代码分析、调试和重构功能&#xff0c;成为Java开发者…

Git 查看当前分支是基于哪个分支拉取(源头分支)

场景&#xff1a; 项目中使用 Git 管理代码仓库的时候&#xff0c;随着项目的持续迭代及项目的扩展&#xff0c;多版本并行开发是非常常见的事情&#xff0c;多版本并行开发就伴随着多分支&#xff0c;随着 Git 的分支越拉越多&#xff0c;这时候很容易造成分支的混乱&#xf…

内容安全复习 2 - 网络信息内容的获取与表示

文章目录 信息内容的获取网络信息内容的类型网络媒体信息获取方法 信息内容的表示视觉信息视觉特征表达文本特征表达音频特征表达 信息内容的获取 网络信息内容的类型 网络媒体信息 传统意义上的互联网网站公开发布信息&#xff0c;网络用户通常可以基于网络浏览器获得。网络…

ZYNQ7 Processing System IP核中PS侧Uart的用法

在ZYNQ7 Processing System IP核中集成的UART控制器是一个中全双工异步接收器和发送器&#xff0c;支持广泛的可编程波特率和I/O信号格式&#xff0c;可以适应自动奇偶校验生成和多主机检测模式。 UART操作由配置和模式寄存器控制。使用状态寄存器、中断状态寄存器和调制解调器…

高考杂志高考杂志社高考编辑部2024年第14期目录

高考论坛 新高考背景下优化高中数学教学方法探究 韩玉新; 3-5 基于高考评价体系的高中历史大单元复习模式建构 钱敏杰; 6-8 新高考背景下高中语文课堂优化作业设计策略 吴丽容; 9-11《高考》投稿&#xff1a;cn7kantougao163.com 新高考视域下高中地理课堂促进…

188. 买卖股票的最佳时机 IV

188. 买卖股票的最佳时机 IV 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;代码解释类级变量与初始化动态规划初始化递归函数 dfs_maxProfit Integer.MIN_VALUE / 5 的作用总结 参考代码&#xff1a;_188买卖股票的最佳时机IV 错误经验吸取 原题链接&#xf…