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

榆林公司网站建设爱站seo工具包

榆林公司网站建设,爱站seo工具包,网站框架图怎么做,网站软件免费下载安装基础防抖功能 通过 delay 参数控制防抖时间,默认 2000ms在防抖期间会禁用按钮,防止重复点击 灵活的参数传递 支持向防抖函数传递参数:args: [arg1, arg2]可以自定义防抖时间:delay: 2000 智能的开关控制 通过 enable 参数控制…

基础防抖功能

  1. 通过 delay 参数控制防抖时间,默认 2000ms
  2. 在防抖期间会禁用按钮,防止重复点击

灵活的参数传递

  1. 支持向防抖函数传递参数:args: [arg1, arg2]
  2. 可以自定义防抖时间:delay: 2000

智能的开关控制

  1. 通过 enable 参数控制防抖功能是否启用
  2. 当 enable: false 时,防抖功能会被禁用

依赖监听机制

  1. 通过 watch 参数监听数据变化
  2. 当监听的数据发生变化时,会重置防抖状态
    例如:watch: selectTreeList 当 selectTreeList 变化时会重置防抖

用户友好的提示

  1. 支持自定义重复点击提示信息:tip: ‘请勿重复点击’
  2. 提示信息以优雅的弹窗形式展示
  3. 提示会在 1 秒后自动消失

完整的生命周期管理

  1. bind: 初始化防抖功能
  2. update: 处理数据变化和状态更新
  3. unbind: 清理定时器和相关属性

优雅的 UI 交互

  1. 防抖期间按钮会被禁用
  2. 提示信息采用固定定位,居中显示
  3. 使用半透明背景,提供良好的视觉体验

安全性和健壮性

  1. 对函数参数进行类型检查
  2. 提供警告信息
  3. 完善的资源清理机制
/*** 增强版防抖指令* 功能:支持参数传递、开关控制、依赖监听、重复点击提示* 使用方式:* 1. 基本用法: v-debounce="{fn: handleClick, delay: 2000}"* 2. 带参数: v-debounce="{fn: handleClick, delay: 2000, args: [arg1, arg2]}"* 3. 控制开关: v-debounce="{fn: handleClick, delay: 2000, enable: true}"* 4. 监听变化: v-debounce="{fn: handleClick, delay: 2000, watch: selectTreeList}"* 5. 提示信息: v-debounce="{fn: handleClick, delay: 2000, tip: '请勿重复点击'}"*/
export default {bind(el, binding) {if (typeof binding.value.fn !== 'function') {console.warn('v-debounce指令需要传入一个函数');return;}const delay = binding.value.delay || 2000;const enable = binding.value.enable !== false;const tip = binding.value.tip || '请勿重复点击';let timer = null;let isDisabled = false;// 挂载重置方法到元素实例el._debounceReset = () => {isDisabled = false;el.disabled = false;if (timer) {clearTimeout(timer);timer = null;}};// 初始化监听值if (binding.value.watch) {el._lastWatchValue = JSON.stringify(binding.value.watch);}const executeFn = () => {binding.value.fn(...(binding.value.args || []));};el.addEventListener('click', () => {if (!enable) return;if (isDisabled) {console.log('isDisabled', isDisabled);console.log('显示提示信息');// 显示提示信息const tipEl = document.createElement('div');tipEl.style.cssText = `position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);background: rgba(0, 0, 0, 0.7);color: white;padding: 10px 20px;border-radius: 4px;z-index: 9999;`;tipEl.textContent = tip;document.body.appendChild(tipEl);// 1秒后移除提示setTimeout(() => {document.body.removeChild(tipEl);}, 1000);return;}isDisabled = true;el.disabled = true;executeFn();timer = setTimeout(el._debounceReset, delay);});},update(el, binding) {// 检查watch值变化if (binding.value.watch) {const currentValue = JSON.stringify(binding.value.watch);if (el._lastWatchValue !== currentValue) {el._lastWatchValue = currentValue;el._debounceReset();}}// 处理enable状态变化if (binding.value.enable === false && el.disabled) {el._debounceReset();}},unbind(el) {clearTimeout(el._debounceTimer);delete el._debounceReset;delete el._lastWatchValue;},
};

用法

 <el-button:disabled="disabledLogCollect":loading="!isCollect"v-permission="'vd.sr.logCollect.UserLogCollection'"type="primary":data-warden-title="userLogs.UserlogsCollect":element-loading-text="$t('loading')"v-debounce="{fn: Submit,delay: 3000,enable: true,watch: selectTreeList,tip: $t('debounceTip'),}">
http://www.dtcms.com/wzjs/232557.html

相关文章:

  • 推广网站文案网站优化网络推广seo
  • 网站代理如何做如何优化推广中的关键词
  • 做建网站百度网址大全免费下载
  • wordpress 改系统5年网站seo优化公司
  • 深圳做网站推广的公司又一病毒来了比新冠可怕
  • 网站建设公司如何盈利谷歌推广代理商
  • 资料网站怎么做的驾校推广网络营销方案
  • 做外贸需要做个英文网站吗谷歌排名优化
  • 佛山网站建设哪家效果好做推广怎么做
  • 丰台石家庄网站建设手游推广去哪里找客源
  • 品牌网站设计提案下载百度卫星导航
  • 承德在线怎么快速优化关键词排名
  • 网站建设公司 信科便宜百度收录批量提交入口
  • 长春做网站企业交换链接是什么
  • 单位做网站资料需要什么软件十大网络营销经典案例
  • 怎样做网站静态百度网站排名查询
  • 效果好的徐州网站建设广告营销的经典案例
  • 呼伦贝尔人才网官方网站入口郑州网站营销推广公司
  • 利为汇wordpress教程成都百度seo推广
  • 企业网站建设电话中国seo公司
  • 一级a做爰片就在线看网站简述seo的优化流程
  • 四川省建设厅注册管理中心网站首页bt蚂蚁
  • 外贸网站建设公司策划广告点击一次多少钱
  • 门户网站建设项目书谷歌浏览器中文手机版
  • 西安网站建设联系方式武汉seo和网络推广
  • 电子商务网站开发指南企业网络推广的方法
  • 个人网站可以做哪些内容河北百度seo
  • 网站建设胶州家园nba最新排行
  • 十堰学网站建设培训班网络营销推广计划书
  • 网站怎样和首页做链接b2b网站有哪些