@etsoo/materialui
Version:
TypeScript Material-UI Implementation
20 lines (19 loc) • 632 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { InputField } from "./InputField";
/**
* Data load field component
* @param props Properties
* @returns Component
*/
export function DataLoadField(props) {
// Destruct
const { disabled = true, fullWidth = true, loadData, ...rest } = props;
// Ref
const inputRef = React.useRef(null);
React.useEffect(() => {
loadData().then((data) => (inputRef.current.value = data ?? ""));
}, [loadData]);
// Layout
return (_jsx(InputField, { disabled: disabled, fullWidth: fullWidth, inputRef: inputRef, ...rest }));
}