UNPKG

duoyun-ui

Version:

A lightweight desktop UI component library, implemented using Gem

23 lines (22 loc) 810 B
import React from 'react'; import { forwardRef, useImperativeHandle, useRef, useLayoutEffect } from 'react'; export * from '../elements/file-picker'; export const DyFilePicker = forwardRef(function (props, ref) { const elementRef = useRef(null); useImperativeHandle(ref, () => { return { showPicker(...args) { return elementRef.current.showPicker(...args); }, }; }, []); // React Bug? useLayoutEffect(() => { const element = elementRef.current; ["type", "accept", "placeholder", "directory", "disabled", "multiple", "value"].map(name => { element[name] = props[name]; }); }, []); return React.createElement("dy-file-picker", { ref: elementRef, ...props }); }); export default DyFilePicker;