目录

element-ui-popover-组件源码分享

目录

element-ui popover 组件源码分享

popover 弹出层组件源码,主要从一下四个方面来分享:

1、popover  组件页面结构。

2、popover  组件属性。

3、popover  组件 slot 挂载。

4、popover 组件事件。

一、组件页面结构。

https://i-blog.csdnimg.cn/direct/b69c3d293e91451bab776672a8bbf138.png

二、组件属性。

2.1 trigger 触发方式,类型为 string,可选值 click/focus/hover/manual,默认值 click。

https://i-blog.csdnimg.cn/direct/0ef04bebf60449c6a0a8b9c113a34764.png

https://i-blog.csdnimg.cn/direct/b25473a19da4453a8ed84e9e95e1b7f5.png

2.2 title 标题,类型为 string,无默认值。

https://i-blog.csdnimg.cn/direct/a16c241855d341ad9d6f6b996ac5516d.png

https://i-blog.csdnimg.cn/direct/a4733e2f5a114d88838a56bda108a204.png

https://i-blog.csdnimg.cn/direct/5080b75146864cc9b8ddeb7bf138ee7f.png

2.3 content 显示的内容,类型为 string,无默认值。

https://i-blog.csdnimg.cn/direct/e86250364aec4419abcd27a108651331.png

https://i-blog.csdnimg.cn/direct/c999f676f3a344468fcc20e597a92903.png

https://i-blog.csdnimg.cn/direct/7e932208c4e64631a1f161b563a71926.png

2.4 width 宽度,类型为 string、number,默认 150px。

https://i-blog.csdnimg.cn/direct/814ebb1defd1442e9fc5f648a844a296.png

https://i-blog.csdnimg.cn/direct/ced0fcd5aabd477abc7bf83babc5c92f.png

https://i-blog.csdnimg.cn/direct/aec188c021cc43bfad57d8688a8a8c33.png

2.5 placement 出现的位置,类型为 string,可选值 top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end,默认 bottom。

https://i-blog.csdnimg.cn/direct/ed7370d9ec2346138b0fd7ef0e75d335.png

https://i-blog.csdnimg.cn/direct/4c763b2f04394a14a1b783fd831a8fe2.png https://i-blog.csdnimg.cn/direct/b787a412d46c4ee0961e26c1a06b5116.png

https://i-blog.csdnimg.cn/direct/33eb7015c6e14136bec98af8feea311a.png https://i-blog.csdnimg.cn/direct/25d1ffce04f84baa9a0b22c9747e58ed.png

https://i-blog.csdnimg.cn/direct/b4c32d37972947d4a1247f6af46f2b36.png https://i-blog.csdnimg.cn/direct/7fe0e54711a2426f981e8ab9cc495d74.png

https://i-blog.csdnimg.cn/direct/88e979937432488aae246b688f9a2700.png https://i-blog.csdnimg.cn/direct/b7215be3c6dd4a8aad3eddfd3520ecd9.png

2.6 disabled popover 是否可用,类型为 boolean,默认 false。

https://i-blog.csdnimg.cn/direct/bcafd615dac0473795150fddf51a076a.png

https://i-blog.csdnimg.cn/direct/9b1d4253d38448339dd764f92faca789.png https://i-blog.csdnimg.cn/direct/56bcbf730e484e639039e7eb7f0cfb1a.png

https://i-blog.csdnimg.cn/direct/0b80881772624559a141202498e0bc8e.png

2.7 value / v-model 状态是否可见,类型为 boolean,默认 false。

https://i-blog.csdnimg.cn/direct/1cb4b7bcf8ec40bba5112ca88ff955a6.png

2.8 offset 出现位置的偏移量,类型为 number,默认 0。

https://i-blog.csdnimg.cn/direct/50e1b358b70442419286e670a423e99d.png

https://i-blog.csdnimg.cn/direct/7b33775e8ce34300af3394a63255ab9f.png https://i-blog.csdnimg.cn/direct/360cb49883154ad1bc48ddbc8f65fe12.png

https://i-blog.csdnimg.cn/direct/544868cb6ce34f8784a1d7d83bc748e3.png

https://i-blog.csdnimg.cn/direct/9799d8796494458bbc1910f7a123c03b.png

2.9 transition 定义渐变动画,类型为 string,默认 fade-in-linear。

https://i-blog.csdnimg.cn/direct/739cfb59d7264497904c212bbaf46fed.png

https://i-blog.csdnimg.cn/direct/551333f670364fadbe769172a15f752f.png

2.10 visible-arrow 是否显示箭头, 类型为 boolean,默认 true。

https://i-blog.csdnimg.cn/direct/fefe70d90bcc4d9da70fc1be1a05f8c5.png

https://i-blog.csdnimg.cn/direct/6c34e048aee543f88375e12614344c93.png

https://i-blog.csdnimg.cn/direct/fc2f5439c8024355881206116dd61f1b.png

https://i-blog.csdnimg.cn/direct/da6263ab41e34d51a6b98b8c50b38a16.png

2.11 popper-options popper.js 的参数,类型为 object,默认 { boundariesElement: ‘body’, gpuAcceleration: false }。

https://i-blog.csdnimg.cn/direct/61e772923b4d4c958e74c677a4c82e84.png

https://i-blog.csdnimg.cn/direct/265ff502174743d59f359553c90ad685.png

2.12 popper-class 为 popover 增加类名, 类型为 string,无默认值。

https://i-blog.csdnimg.cn/direct/d04bafc4254d4812862696ef26f51195.png

https://i-blog.csdnimg.cn/direct/53726fcf68404b38aeaceb84bdeba3c7.png

2.13 open-delay 触发方式为 hover 时的显示延迟,单位为毫秒,类型为 number,默认 0。

https://i-blog.csdnimg.cn/direct/bbf04e38b7eb464b9db7550fc7fd8466.png

https://i-blog.csdnimg.cn/direct/53194a969ab346888ce88389ac325a13.png

https://i-blog.csdnimg.cn/direct/c7df60f5fd5146fcb0ed160445de1f95.png

https://i-blog.csdnimg.cn/direct/11e216633ca34a979d4e6525e8a4cd35.png

2.14 close-delay 触发方式为 hover 时的隐藏延迟,单位为毫秒,类型为 number,默认 200。 https://i-blog.csdnimg.cn/direct/7642eb01dab34becbec4b1e27e270bd2.png

https://i-blog.csdnimg.cn/direct/af147ba1c27e43fc8df5a78d440e0bb9.png 2.15 tabindex popover 组件的 tabindex,类型为 number,默认为 0。

https://i-blog.csdnimg.cn/direct/e38331dea7814c7d8f0ab37a3117a5c4.png

https://i-blog.csdnimg.cn/direct/01ef56dcd39c47b8923914b29c2eaa41.png

三、slot 挂载。

2.8 reference 触发 Popover 显示的 HTML 元素。

https://i-blog.csdnimg.cn/direct/949006b143154a13957e5bf21f32b7c9.png

https://i-blog.csdnimg.cn/direct/f4f7a40d80a04205812dc49ad31d28ff.png

https://i-blog.csdnimg.cn/direct/64c009de13d248c3ac7ab97b87cbe4bf.png

四、事件。

4.1 show 显示时触发、hide 隐藏时触发。

https://i-blog.csdnimg.cn/direct/32da9f60c2d549f0a664b3e2bdaff687.png

https://i-blog.csdnimg.cn/direct/25060b020d0446a78a5277a24f28374e.png

4.2 after-enter 显示动画播放完毕后触发。

https://i-blog.csdnimg.cn/direct/c348e88df7ad4f4faf6a9c5d8d5a1cd9.png

https://i-blog.csdnimg.cn/direct/60e40ee0e8644c48bd02cfc192f5aa2c.png

https://i-blog.csdnimg.cn/direct/647c29e4d86043bf8ebb2af30ce08848.png

4.4 after-leave 隐藏动画播放完毕后触发。

https://i-blog.csdnimg.cn/direct/8aea163b70ba40fcbb07657b6528a7d1.png https://i-blog.csdnimg.cn/direct/65afdd6f83d0440ca84d300306a1dc8f.png