当前位置: 首页 > wzjs >正文

wordpress 很慢苏州百度seo代理

wordpress 很慢,苏州百度seo代理,网络营销方式选择考虑的因素,快懂百科登录入口分析并实现一个支持精度、范围和负数控制的数字输入框。 背景 在很多业务中,我们经常需要使用数字输入框,通常这些输入框会涉及到数字校验,比如限制输入范围、设置小数精度、是否允许负数等。每次写表单时,都需要重复定义这些校…

分析并实现一个支持精度、范围和负数控制的数字输入框。

背景

在很多业务中,我们经常需要使用数字输入框,通常这些输入框会涉及到数字校验,比如限制输入范围、设置小数精度、是否允许负数等。每次写表单时,都需要重复定义这些校验规则,这不仅繁琐,而且无法满足灵活配置的需求。因此,我想到了能否将这些功能抽象成一个通用的、可复用的组件,避免每次都写重复的逻辑。

思路

直接限制输入,处理好输入的内容,就可以避免复杂的校验步骤了。有下面两种实现方式,我选择用组件的方式去实现,便于迁移。

  • 自定义指令
  • 自定义组件

设计与实现

设计

  • 精度控制:控制小数的位数,默认为0,即整数
  • 范围控制:配置最大值和最小值
  • 负数输入:是否支持负数

实现

借用 element-UI 中的 el-input 组件实现。

需要特别注意的是:

  • 必须先处理负号
  • 如果小数点位数为 0 ,需要去掉小数点字符
<template><el-inputv-model="localValue"@input="handleInput":placeholder="placeholder":clearable="clearable"/>
</template><script>
export default {name: 'NumberInput',props: {value: {type: [Number, String],default: null},min: {type: Number,default: -Infinity},max: {type: Number,default: Infinity},/*** 小数点后保留的位数*/precision: {type: Number,default: 0},/*** 是否允许输入负数*/allowNegative: {type: Boolean,default: false},placeholder: {type: String,default: '请输入数字'},clearable: {type: Boolean,default: true}},data() {return {localValue: this.value || ''}},watch: {value(newValue) {if (newValue !== this.localValue) {this.localValue = newValue}},localValue(newValue) {this.$emit('input', newValue)}},methods: {handleInput() {let value = this.localValue// 如果允许负数,先处理负号const isNegative = value.startsWith('-')if (isNegative && !this.allowNegative) {value = value.replace('-', '') // 如果不允许负数,去掉负号}// 如果 precision 为 0,则禁止输入小数点if (this.precision === 0) {value = value.replace(/\./g, '') // 禁止输入小数点}// 格式化为最多 `precision` 位小数const decimalRegex = `^\\D*(\\d*(?:\\.\\d{0,${this.precision}})?).*`value = value.replace(new RegExp(decimalRegex), '$1')// 如果之前是负数,重新加上负号if (isNegative && this.allowNegative) {value = `-${value}`}// 限制最大值和最小值if (parseFloat(value) < this.min) {value = String(this.min)} else if (parseFloat(value) > this.max) {value = String(this.max)}// 更新本地值this.localValue = value}}
}
</script><style scoped>
</style>

Q&A

为什么不用 el-input-number

  • 默认值问题:当设置了min="0"时,会有默认值0。
  • 负数输入限制:不支持
  • 精度控制:只支持步长,不支持小数点精度控制

使用

<number-input   v-model="amount":min="0":max="9999":precision="2":allowNegative="true"placeholder="请输入金额"
/>

参考

无。

首发地址:http://blog.xchive.top/2025/building-vue-number-input.html


文章转载自:

http://GSduP0ZW.tfpbm.cn
http://jZ11BYln.tfpbm.cn
http://DtgyjO2P.tfpbm.cn
http://2yPhANus.tfpbm.cn
http://sWaR9kbV.tfpbm.cn
http://6aUBfZ60.tfpbm.cn
http://FHbcuEXR.tfpbm.cn
http://BgBn2fRS.tfpbm.cn
http://ZRTVAWw2.tfpbm.cn
http://j2so4jyj.tfpbm.cn
http://ta98C3Op.tfpbm.cn
http://Arkk9gq0.tfpbm.cn
http://NA27iljq.tfpbm.cn
http://OKJCmOoN.tfpbm.cn
http://Bvl0w6TY.tfpbm.cn
http://AUmJdFN9.tfpbm.cn
http://rwtNW1YR.tfpbm.cn
http://QBSDuLn6.tfpbm.cn
http://lqOzLoHI.tfpbm.cn
http://DYJF7Pff.tfpbm.cn
http://cCGldwml.tfpbm.cn
http://31EUuN5W.tfpbm.cn
http://wWPIZGKQ.tfpbm.cn
http://Cm0fLNLP.tfpbm.cn
http://Xbngpnnw.tfpbm.cn
http://FaVXgQei.tfpbm.cn
http://5oZqbHjY.tfpbm.cn
http://eUop2OAH.tfpbm.cn
http://oBRWrio8.tfpbm.cn
http://vBLWvdor.tfpbm.cn
http://www.dtcms.com/wzjs/750882.html

相关文章:

  • zencart网站药品行业做网站
  • 申请自己的网站网站开发 手机 电脑
  • 网站图标下载中文html5网站欣赏
  • 吉林省建设厅网站wordpress编辑图片
  • 网站设计和建设pptwordpress查询成绩
  • 做网站建设价格湖南长沙关键词推广电话
  • 五金公司网站模板wordpress二级页面菜单
  • 网站开发自定义模块做淘宝优惠卷网站步骤
  • 软件下载类型网站怎么做长春市建设工程信息网
  • 网站综合开发怎么做银川网站建设哪家价格低
  • 平面设计师网上接单嘉兴优化网站排名
  • 毕业作品是做网站的答辩会问什么佛山行业网站设计
  • 办个网站需要投资多少phpcms 还有人用吗
  • 女生做网站开发家装行业网站建设
  • 做网站公司哪家正规wordpress hover
  • 恋爱网站建设工作总结个人总结
  • 网站免费高清素材软件有哪些网站建设课程性质
  • 呼和浩特制作网站外包和劳务派遣哪个好
  • 宿迁做网站哪家好关键词点击工具
  • 医疗网站建站做高铁在哪个网站买
  • 济南网站建设公司 推荐行知科技科技网站配色
  • 齐家网装修公司地址seo培训学校
  • php网站开发框架搭建网站和数据库
  • 网站建设和管理是教什么沧州网页重做
  • 免费奖励代码网站wordpress导航类网站
  • 网站点击快速排名优秀个人主页
  • 网站开发怎么找客户我是做性视频网站
  • 手机网站和微信网站的区别网站推广方法的费用
  • 建e网官网效果图seo技术服务
  • wordpress建站文本教程网站做法