Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

set popper click outside

//dependencies
const { render } = ReactDOM,
      { useState } = React,
      { Popper, Button, Paper, ClickAwayListener } = MaterialUI
      
//custom popper
const MyPopper = ({isOpen,clickAwayHandler}) => (
    <ClickAwayListener onClickAway={clickAwayHandler}>
        <Popper open={isOpen}>
          <Paper className="popper">There goes my custom popper</Paper>
        </Popper>
    </ClickAwayListener> 
)

//main page
const MainPage = () => {
  const [isOpen, setIsOpen] = useState(true),
        clickAwayHandler = () => setIsOpen(false),
        clickHandler = () => setIsOpen(true)
  return (
    <div>
      <Button onClick={clickHandler}>Toggle pop-up</Button>
      {
        isOpen && <MyPopper {...{clickAwayHandler,isOpen}} /> 
      }
    </div>
  )
}

//render
render (
  <MainPage />,
  document.getElementById('root')
)
Comment

PREVIOUS NEXT
Code Example
Javascript :: firestore return the content of an aarray Nodejs 
Javascript :: firebase update return result 
Javascript :: react native custom ssl cer 
Javascript :: javascript code to jquery online 
Javascript :: js fix for rtl langages 
Javascript :: how to make a login form discord.js part 1 
Javascript :: get and storing json array android 
Javascript :: how to push an object into an array in reducer 
Javascript :: oracle apex 20 show spinner by press button 
Javascript :: Could not read source map for f@google-cloud/storage/build/src/channel.js: ENOENT: no such file or directory 
Javascript :: 4.4.3. Keywords¶ 
Javascript :: import json file react typescript 
Javascript :: discord.js slash commend 
Javascript :: solc assert.js:339 throw err 
Javascript :: angular observer if not length 
Javascript :: if path name is different but parent nav should be active in jquery 
Javascript :: Shorthand for calling functions conditionally 
Javascript :: localstorege remove 
Javascript :: how to decrease the size of js files build from angular 
Javascript :: multiple confition checking jasvascript 
Javascript :: validate date 
Javascript :: t_networkless_options":true,"disable_signout_supex_users":true,"desktop_adjust_touch_target":true,"kevlar picker ajax 
Javascript :: zoom and pan in d3.js 
Javascript :: FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory ionic build 
Javascript :: queen of spain 
Javascript :: npm view parent package 
Javascript :: return where an property eqauls 
Javascript :: call apply mnemonic javascript 
Javascript :: javascript set css after property 
Javascript :: jquery override page title 
ADD CONTENT
Topic
Content
Source link
Name
3+6 =