1.5.10 • Published 1 year ago

@alicloud/console-base-rc-attention-seeker v1.5.10

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@alicloud/console-base-rc-attention-seeker

Usage

一般不建议直接用组件的形式调用,而是通过 append、prepend、refresh、clear 等方法。

建议对需要提示用户关注的地方单独写一个组件,如下,注意 ref 必须是 HTML 元素。

import React, {
  useRef,
  useEffect
} from 'react';

import {
  append
} from '@alicloud/console-base-rc-attention-seeker';

export default function PickMe(): JSX.Element {
  const refSpan = useRef<HTMLSpanElement | null>(null);
  
  useEffect(() => {
    if (refSpan.current) {
      return append(refSpan.current);
    }
  }, []);
  
  return <span ref={refSpan}>and i will get the attention</span>;
}

API

TODO 目前没有上一个下一个...

default export - 组件

基本用不到

append(element: HTMLElement, options?: IAttentionSeekerOptions): () => void;

将元素添加到元素列表,返回解除的无参回调函数可用于 useEffect。

prepend(element: HTMLElement, options?: IAttentionSeekerOptions): () => void

将元素添加到元素列表(如果希望添加后立即高亮,用它),返回解除的无参回调函数可用于 useEffect。

clear(): void

清除所有元素。

refresh(): void

刷新(基本应该用不到了)。

关于背投

我们要达到这样的效果:

  1. 有背投
  2. 关注元素需要跳出背投

简言之,便是需要有「镂空」背投。

最早的设计是这样的:

  1. 背投为实心的 div,绝对定位,占满全屏,以高 z-index 压住页面
  2. 镂空的实现是将关注元素的 z-index 调整为高于背投的 z-index 让它「浮」上来

问题 I

但这有个问题:当关注元素的祖先节点有「生效的」z-index 的时候,变无法上提,这里有个 Stacking Context 的概念。

这个问题的解法比较恶心,但可行,就是逐个把含 z-index 的祖先的 z-index 设置为 auto !important,当然后边会还原。

问题 II

解决了问题 I 之后,发现了另外一个问题:虽然祖先节点的 z-index 都已实现救赎,但还是有些元素无法浮上来:祖先元素的定位为 stickyfixed 的时候,甚至会因为去掉了 z-index,而导致这些祖先元素中的其他节点无法展示。

这个问题的原因我没有细究,也不想细究。

最终解法

于是想到了 牧羊人,它的解法很简单,背投用的是 SVG,代码参考

1.5.10-beta.1

1 year ago

1.5.10

1 year ago

1.5.9

2 years ago

1.5.8

2 years ago

1.5.7

3 years ago

1.5.5

3 years ago

1.5.4

3 years ago

1.5.2

3 years ago

1.5.6

3 years ago

1.5.0

3 years ago

1.4.5

3 years ago

1.4.4

3 years ago

1.4.3

3 years ago

1.4.2

3 years ago

1.2.3

3 years ago

1.4.0

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.2

4 years ago

1.2.0

4 years ago

1.2.1

4 years ago

1.1.89

4 years ago

1.1.87

4 years ago

1.1.92

4 years ago

1.1.91

4 years ago

1.1.90

4 years ago

1.1.71

4 years ago

1.1.70

4 years ago

1.1.69

4 years ago

1.1.68

4 years ago

1.1.67

4 years ago

1.1.65

4 years ago

1.1.64

4 years ago

1.1.63

4 years ago

1.1.61

4 years ago

1.1.58

4 years ago

1.1.57

4 years ago

1.1.60

4 years ago

1.1.56

4 years ago

1.1.55

4 years ago

1.1.52

4 years ago

1.1.49

4 years ago

1.1.51

4 years ago

1.1.48

4 years ago

1.1.45

4 years ago

1.1.44

4 years ago

1.1.43

4 years ago

1.1.46

4 years ago

1.1.41

4 years ago

1.1.42

4 years ago

1.1.33

4 years ago

1.1.38

4 years ago

1.1.36

4 years ago

1.1.40

4 years ago

1.1.32

4 years ago

1.1.31

4 years ago

1.1.29

4 years ago

1.1.30

4 years ago

1.1.28

4 years ago

1.1.27

4 years ago

1.1.26

4 years ago

1.1.23

4 years ago

1.1.25

4 years ago

1.1.20

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

0.1.11

4 years ago

0.1.9

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago