常见的hooks

 1.useNamespace 

import { useNamespace } from '@element-plus/hooks'

useNamespace函数是返回了符合BEM命名规则的方法。

BEM:

BEM是一种针对css的前端命名规范,是块(Block),元素(Element),修饰符(Modifier)的简写。

Block是模块,比如:article、dialog、sidebar、form、tab

Element为块里的元素,比如form里面的input、submit

modifier是对block或element的修饰,比如form–theme-dark

BEM的命名规范:

.block { }
.block__element { }
.block--modifier { }
.block__element--modifier { } 

//使用__来连接block和element,使用–来连接block和modifier
import { useNamespace } from './compo/useNamespace'
const bs = useNamespace('dialog')
ns.b() // el-dialog
ns.b('overlay') // el-dialog-overlay
ns.e('header') // el-dialog__header
ns.m('theme-dark') // el-dialog--theme-dark
ns.be('header','close') // el-dialog-header__close
ns.em('footer','small') // el-dialog__footer--small
ns.bm('footer','small') // el-dialog-footer--small
ns.bem('footer','btn','primary') // el-dialog-footer__btn--primary
ns.is('closeable') // is-closeable 



ns.b() 返回结果为 "el-dialog "
ms.b(‘overlay’)
ns.e(‘header’) 返回结果为 “el-dialog__header”
ns.m(‘theme-dark’) 返回结果为 “el-dialog–theme-dark”
ns.be(‘header’,‘close’) 返回结果为 “el-dialog-header__close” 意思为返回一个block + element
ns.em('foter,‘small’) 返回结果为 “el-dialog__footer–small” 意思为返回一个element + modifier
ns.bm(‘footer’,‘small’) 返回结果为 “el-dialog-footer–small” 意思为返回一个block + modifier
ns.bem(‘footer’,‘btn’,‘primary’) 返回结果为" el-dialog-footer__btn–primary" 意思为返回一个block+element+modifer
ns.is(‘closeable’) 返回is-closeable 通常用来描述组件的状态,如is-closeable 表示:是否显示关闭

 2. useElementBounding

提供了以下功能:

  • 边界信息获取,如果左边距left、宽度width等
  • 响应式更新,返回的边界信息是响应式的,目标元素的位置和尺寸变化时,会自动更新
  • 额为状态控制,还提供了一些额外的状态,例如目标元素是否可见,是否在屏幕内等

3.useWindowSize

可以获取窗口的宽度和高度,并且当窗口大小变化时自动更新

4.useEventListener

添加点击、键盘、滚动等监听事件

相关推荐

  1. 常见hooks

    2023-12-28 21:22:04       35 阅读
  2. React中常见Hook

    2023-12-28 21:22:04       16 阅读
  3. react--常见hook

    2023-12-28 21:22:04       12 阅读
  4. Android开发中常见Hook技术有哪些?

    2023-12-28 21:22:04       38 阅读
  5. react hooksuseContext

    2023-12-28 21:22:04       35 阅读
  6. react hooks useMemo:

    2023-12-28 21:22:04       34 阅读
  7. React 掌握及对比常用8个Hooks,优化及使用场景

    2023-12-28 21:22:04       15 阅读
  8. reacthooksuseCallback:

    2023-12-28 21:22:04       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 21:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 21:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 21:22:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 21:22:04       20 阅读

热门阅读

  1. 三路归并排序可视化

    2023-12-28 21:22:04       34 阅读
  2. 算法训练营Day29(回溯)

    2023-12-28 21:22:04       40 阅读
  3. 阿里控股 面经

    2023-12-28 21:22:04       40 阅读
  4. 快速排序回顾及相关题型

    2023-12-28 21:22:04       40 阅读
  5. 72 DFS解决目标和问题

    2023-12-28 21:22:04       34 阅读
  6. 进程

    进程

    2023-12-28 21:22:04      33 阅读
  7. nginx部署前端项目总结

    2023-12-28 21:22:04       44 阅读
  8. C++_静态成员变量介绍

    2023-12-28 21:22:04       33 阅读
  9. MOS和三极管

    2023-12-28 21:22:04       39 阅读
  10. Go语言并发编程:Goroutines和Channels的详细指南

    2023-12-28 21:22:04       46 阅读
  11. 应对微信小程序用户流失率的有效策略

    2023-12-28 21:22:04       35 阅读
  12. js 事件处理(addEventListener() 、removeEventListener())

    2023-12-28 21:22:04       36 阅读
  13. 浅谈Linux的OOM Killer机制

    2023-12-28 21:22:04       36 阅读