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

手机端的网站怎么做微信小商店官网入口

手机端的网站怎么做,微信小商店官网入口,室内设计图片效果图,dw做网站教程文章目录 前言具体实现分析主要部分详细解析导入和类型定义mounted 钩子函数unmounted 钩子函数指令注册使用 总结 前言 使用vue中的自定义指令来实现input框输入限制 其中关键代码强制触发input #xff0c;来避免#xff0c;输入规则外的字符时#xff0c;没触发vue的响… 文章目录 前言具体实现分析主要部分详细解析导入和类型定义mounted 钩子函数unmounted 钩子函数指令注册使用 总结 前言 使用vue中的自定义指令来实现input框输入限制 其中关键代码强制触发input 来避免输入规则外的字符时没触发vue的响应导致实际值的不一致的问题。使用debounce 来优化性能 具体实现分析 我们定义了一个 Vue 自定义指令用于限制输入框中的值以确保符合特定的格式要求。它包括一些关键组件和功能以下是详细解析 主要部分 导入必要模块和类型定义 DirectiveBinding从 Vue 中导入用于指令绑定时的类型定义。debounce从 lodash 库中导入用于防抖处理输入事件。App从 Vue 中导入用于 Vue 应用实例的类型定义。 定义 InputElement 接口 InputElement 接口扩展了 HTMLInputElement增加了 _validateInput 可选属性用于存储验证函数。 定义 inputRestrictions 指令 mounted 钩子函数在指令绑定到元素时触发设置输入验证逻辑。unmounted 钩子函数在指令从元素上解绑时触发清除事件监听器。 详细解析 import { DirectiveBinding } from vue import { debounce } from lodash import type { App } from vueinterface InputElement extends HTMLInputElement {_validateInput?: (event: Event) void }导入和类型定义 从 vue 和 lodash 库中导入必要的类型和工具函数。定义 InputElement 接口扩展 HTMLInputElement 以包含 _validateInput 属性。 const inputRestrictions {mounted(el: InputElement, binding: DirectiveBinding) {const validateInput debounce((event: Event) {let value (event.target as HTMLInputElement)?.valueif (value undefined || value null) {value }const restrictionType binding.valueswitch (restrictionType) {case positiveDecimal:value value.replace(/[^\d.]/g, ) // 删除非数字和非小数点字符.replace(/^\./, ) // 删除开头的小数点.replace(/\.{2,}/, .) // 限制多个小数点.replace(., $#$).replace(/\./g, ).replace($#$, .).replace(/^(\-)*(\d)\.(\d\d).*$/, $1$2.$3) // 保留两位小数点case positiveInteger:value value.replace(/[^\d]/g, ) // 删除非数字字符if (value 0) {value }breakcase customRestriction:// 你的自定义限制逻辑breakdefault:break}if (event.target) {(event.target as HTMLInputElement).value value}event.target?.dispatchEvent(new Event(input)) // 关键代码 触发 input 事件更新 v-model}, 300) // 300 毫秒的防抖延迟el._validateInput validateInputel.addEventListener(input, validateInput)},unmounted(el: InputElement) {if (el._validateInput) {el.removeEventListener(input, el._validateInput)}} }mounted 钩子函数 防抖处理使用 lodash 的 debounce 函数创建 validateInput 函数防止在短时间内多次触发输入验证。输入验证逻辑 根据 binding.value 确定的 restrictionType 选择不同的验证逻辑 positiveDecimal允许输入正整数和最多两个小数点去除多余字符。positiveInteger只允许输入正整数去除非数字字符。customRestriction为将来可能的自定义限制保留。 更新输入值在修改输入值后触发 input 事件以确保 Vue 的双向绑定更新。 unmounted 钩子函数 清除事件监听器在指令解绑时移除 input 事件监听器防止内存泄漏。 const setupInputRestrictions (app: AppElement) {app.directive(inputRestrictions, inputRestrictions) }export default setupInputRestrictions指令注册 定义 setupInputRestrictions 函数用于将 inputRestrictions 指令注册到 Vue 应用实例中。 使用 el-inputv-modelvariable.mainForm.xxxv-input-restrictionspositiveIntegerplaceholderPlease input positive Integer/总结 实现了一个 Vue 自定义指令用于限制输入框中的值确保输入符合特定格式如正整数或带最多两位小数的正数。通过防抖处理和自定义验证逻辑避免了频繁的输入事件处理同时确保输入值的实时验证和更新。
http://www.hkea.cn/news/14580227/

相关文章:

  • 优秀网站的特点小红书笔记推广
  • 网站建设策划案怎么写wordpress付费查看简历
  • 致力于邯郸网站建设制作服务_使众多客户将网站转化为网络市场营销.全国物流网站
  • 广州 环保 凡人网站建设上海广告公司排名前十强
  • 哈尔滨建站优化定制个人网站 教程
  • 南京手机网站制作公司建下载网站
  • 长沙公司网站费用制作网站的专业公司吗
  • 广东深圳网站亦庄附近的网站建设公司
  • 在线制作视频seo教学免费课程霸屏
  • 广告公司网站建设方案民宿可以在哪些网站做推广
  • 网站建设中 显示 虚拟机百度经验官网首页
  • 莆田手表网站网络整合营销
  • 怎么制作网页推广宁波做网站优化哪家好
  • 腾讯云建站流程seo挂机赚钱
  • 泉州惠安网站建设网站建设项目设计报告
  • 网站制作软件大全多城市网站如何做seo
  • 网站首页布局设计模板域名流量查询工具
  • 南宁网站设计要多少钱简捷的网站
  • 做游戏视频网站用什么程序好北京网站开发需要多少钱
  • 如何建立免费的个人企业网站清远网站开发公司
  • 无锡 做网站阿里云网站搭建教程
  • 宁波医院通网站建设html5简单网页框架代码
  • 个人网站备案时间wordpress密码漏洞
  • 新乡做网站优化平台下载素材网站开发
  • 陕煤化建设集团网站矿建二公司福州高端网站建设服务网络公司
  • 兰州网络推广的平台百度seo如何优化关键词
  • 临夏州建设网站seo是付费的吗
  • 重庆合川企业网站建设联系电话android app开发教程
  • wordpress素材下载站国外服装购物网站大全
  • 建筑人才招聘网站平台网站开发方案