如何在 ReactJS 中使用 ClickAwayListener 组件?
原文:https://www . geeksforgeeks . org/使用方法-clickaway listener-component-in-reactjs/
检测点击事件是否发生在元素外部。每当用户点击文档中的时,这个监听器就会工作。【React 的 Material UI 有这个组件可供我们使用,非常容易集成。我们可以使用下面的方法在 ReactJS 中使用 ClickAwayListener 组件。
创建反应应用程序并安装模块:
步骤 1: 使用以下命令创建一个 React 应用程序。
npx create-react-app foldername
步骤 2: 在创建项目文件夹(即文件夹名)后,使用以下命令移动到该文件夹。
cd foldername
步骤 3: 创建 ReactJS 应用程序后,使用以下命令安装 material-ui 模块。
npm install @material-ui/core
项目结构:如下图。
项目结构
示例:现在在 App.js 文件中写下以下代码。在这里,App 是我们编写代码的默认组件。
App.js
import React from "react";
import { lightBlue } from "@material-ui/core/colors";
import ClickAwayListener from
"@material-ui/core/ClickAwayListener";
export default function App() {
const [open, setOpen] = React.useState(false);
const handleClickAwayEvent = () => {
setOpen(false);
};
const handleClickEvent = () => {
setOpen((prev) => !prev);
};
return (
<div style={{ display: "block", padding: 30 }}>
<h4>How to use ClickAwayListner Component in ReactJS?</h4>
<ClickAwayListener onClickAway={handleClickAwayEvent}>
<div
style={{
position: "relative",
}}
>
<button type="button" onClick={handleClickEvent}>
ClickAwayListener Demo
</button>
{open ? (
<div
style={{
width: 150,
position: "absolute",
right: 0,
fontSize: 9,
border: "1px solid",
left: 0,
backgroundColor: lightBlue,
zIndex: 1,
padding: 3,
top: 28,
}}
>
It will be visible until you click outside this box
</div>
) : null}
</div>
</ClickAwayListener>
</div>
);
}
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序。
npm start
输出:现在打开浏览器,转到http://localhost:3000/,会看到如下输出。
参考:T2】https://material-ui.com/components/click-away-listener/
版权属于:月萌API www.moonapi.com,转载请注明出处