微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react-bootstrap 卡在悬停时保持打开状态

如何解决react-bootstrap 卡在悬停时保持打开状态

当我将鼠标悬停在用户的图标/用户名上时,我想弹出打开一个用户个人资料卡片。我已经弄清楚了那部分,但是我希望当我将鼠标悬停在卡片上时卡片本身保持打开状态(当鼠标悬停在用户名上是我想要的目标时,类似于 instagram 网络的工作方式)。 这可以使用 react-bootstrap OverlayTrigger 和 Popover 吗?还是我需要不同的引导程序组件? UserCard 组件内部是否应该有自己的覆盖层? 我希望这是足够的信息,请指教,谢谢!!!

<ListGroup className="search-users-list-group search-scrollable">
    {userDetails.filter(F => F.userHandle.toLowerCase().includes(searchTerm.toLowerCase()))?.map((item,key) => {
        return (
            <div key={key}>
                {item.userId !== user.userId &&
                    <ListGroup.Item className="search-users-list-item">
                        <OverlayTrigger
                            trigger={['hover','focus']}
                            placement="auto"
                            delay={{ show: 1000,hide: 1000 }}
                            overlay={
                                <Popover>
                                    <UserCard
                                        cardUserId={item.userId}
                                        loggedInUserId={user.userId}
                                        action={followUnfollow}
                                    />
                                </Popover>
                            }>
                            <a href={item.userId !== user.userId ? "/profile/" + item?.userId : "/profile"}
                                onClick={() => {
                                    setSearchTerm('');
                                    setUserDetails([]);
                                }}>
                                <Image roundedCircle thumbnail className="circle search-users-avatar"
                                    src={item?.avatar || blankAvatar}
                                    alt={item.userHandle}
                                />
                                {'  '}
                                {item?.userHandle}
                            </a>
                        </OverlayTrigger>
                        {item.followers?.includes(user.userId)
                            ? <Button
                                variant="outline-primary"
                                className="search-users-follow-btn"
                                onClick={() => {
                                    followUnfollow('/users/unfollow',item.userId)
                                }}>Unfollow</Button>
                            : <Button
                                variant="outline-primary"
                                className="search-users-follow-btn"
                                onClick={() => {
                                    followUnfollow('/users/follow',item.userId)
                                }}>Follow</Button>
                        }
                    </ListGroup.Item>
                }
            </div>
        )
    })
    }
</ListGroup>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。