如何使用功能组件将React-Popper与渲染支柱一起使用

发布于 2025-02-09 06:09:12 字数 1387 浏览 3 评论 0原文

        `
        <Manager><div role="presentation"
                id="popover"
                className={popoverClasses}
                onClick={onDismiss}
                onKeyUp={onDismiss}
              >{backdrop && <div className={styles.popover__backdrop} />}
                <div ref={popoverRef}> --how to implement
                  <Reference>
                    {({ ref }) => {
    // how can we implement ref
                      ref = ref; -- how to implement
                      const targetProps = {
                        ref: setReferenceRef,
                        // Accessibility
//event handler
                        onKeyUp: (keyUpEvent) => {
                          if (
                            ['Enter', 'Space Bar', 'Spacebar', ' '].includes(

//活动处理程序的关键 keyupevent.key, ) ){ 如果(!打开){ 一个vent(); } 别的 { OnReferenceClickClose(); } } },, [on $ {event [0] .touppercase()} $ {event.substr(1)}]:!open ? onevent() :on ReferenceClickClose(), }; 返回 ( &lt; span 角色=“按钮” className = {styles.popover__reference} tabindex = {tabindex} aria-haspopup =“对话” {... TargetProps} &gt; {参考} {reficon} ); }}} &lt; popper 放置= {position} 修改器= {{{ ...修饰符, 预防流:{ 边界:边界, },, }}} &gt; {({Ref,位置,Arrowprops})=&gt; (( {title&amp;&amp; {标题}} {儿童(ClosePopover)} ) `

        `
        <Manager><div role="presentation"
                id="popover"
                className={popoverClasses}
                onClick={onDismiss}
                onKeyUp={onDismiss}
              >{backdrop && <div className={styles.popover__backdrop} />}
                <div ref={popoverRef}> --how to implement
                  <Reference>
                    {({ ref }) => {
    // how can we implement ref
                      ref = ref; -- how to implement
                      const targetProps = {
                        ref: setReferenceRef,
                        // Accessibility
//event handler
                        onKeyUp: (keyUpEvent) => {
                          if (
                            ['Enter', 'Space Bar', 'Spacebar', ' '].includes(

// key of event handler
keyUpEvent.key,
)
) {
if (!open) {
onEvent();
} else {
onReferenceClickClose();
}
}
},
[on${event[0].toUpperCase()}${event.substr(1)}]: !open
? onEvent()
: onReferenceClickClose(),
};
return (

<span
role="button"
className={styles.popover__reference}
tabIndex={tabIndex}
aria-haspopup="dialog"
{...targetProps}
>
{reference}

{refIcon}

);
}}

<Popper
placement={position}
modifiers={{
...modifiers,
preventOverflow: {
boundariesElement: boundaries,
},
}}
>
{({ ref, placement, arrowProps }) => (

{title && {title}}

{children(closePopover)}

)}

`

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文