芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/@buffetjs/core/src/components/Picker/index.js
import React, { useState, useRef } from 'react'; import PropTypes from 'prop-types'; import { useClickAwayListener } from '@buffetjs/hooks'; import PickerButton from './PickerButton'; import PickerSection from './PickerSection'; import PickerWrapper from './PickerWrapper'; const Picker = ({ position, renderButtonContent, renderSectionContent }) => { const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(); useClickAwayListener(dropdownRef, () => setIsOpen(false)); const handleToggle = () => { setIsOpen(v => !v); }; return (
{renderButtonContent(isOpen)}
{renderSectionContent(handleToggle)}
); }; Picker.defaultProps = { position: 'left', renderButtonContent: () => {}, renderSectionContent: () => {}, }; Picker.propTypes = { position: PropTypes.oneOf(['left', 'right']), renderButtonContent: PropTypes.func, renderSectionContent: PropTypes.func, }; export default Picker;