duoyun-ui
Version:
A lightweight desktop UI component library, implemented using Gem
19 lines (18 loc) • 829 B
JavaScript
import React from 'react';
import { forwardRef, useImperativeHandle, useRef, useLayoutEffect } from 'react';
export * from '../elements/drawer';
export const DyDrawer = forwardRef(function (props, ref) {
const elementRef = useRef(null);
useImperativeHandle(ref, () => {
return {};
}, []);
// React Bug?
useLayoutEffect(() => {
const element = elementRef.current;
["open", "customize", "maskClosable", "okText", "cancelText", "disableDefaultCancelBtn", "disableDefaultOKBtn", "dangerDefaultOkBtn", "header", "body", "openAnimation", "closeAnimation", "closing", "headerSlot", "bodySlot", "footerSlot"].map(name => {
element[name] = props[name];
});
}, []);
return React.createElement("dy-drawer", { ref: elementRef, ...props });
});
export default DyDrawer;