Skip to content
Snippets Groups Projects
Commit 6372817f authored by Aggarwal Himanshu's avatar Aggarwal Himanshu
Browse files

Close dropdown when clicked outside

parent fc6445a6
No related branches found
No related tags found
2 merge requests!17Merge develop into main,!13Dropdown Enhancements
import React, { useState, useEffect } from "react";
import React, { useState, useEffect, useRef, useCallback } from "react";
import classNames from "classnames";
import { ChevronDownIcon } from "@heroicons/react/outline";
import { useOnClickOutside } from "../../hooks";
function getCoin(list, id) {
for (let i = 0; i < list.length; i++) {
......@@ -13,13 +14,16 @@ function getCoin(list, id) {
function Dropdown({ list, value, setValue, disabled }) {
const [open, setOpen] = useState(false);
const ref = useRef(null);
const callbackDropdownClose = useCallback(() => setOpen(false), []);
useOnClickOutside(ref, callbackDropdownClose);
useEffect(() => {
setOpen(false);
}, [value]);
return (
<div className="relative">
<div className="relative" ref={ref}>
<button
className={classNames(" px-3 py-2 rounded-md font-light", {
"dark:bg-white dark:text-gray-800": false,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment