如何使用功能组件将React-Popper与渲染支柱一起使用
`
<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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论