import React, {
useMemo,
} from "react";
export const FormItem = React.memo((props) => {
const {
title,
value = "",
readonly = true,
horizontal = true,
type,
...otherProps
} = props;
const valueMemo = useMemo(() => {
if (readonly) {
if (["", undefined, null].includes(value)) return "-";
return value;
}
if (type === "number") {
return ;
}
return value;
}, [readonly, value, type, otherProps]);
return (
);
});
const FormItemNumber = React.memo((props) => {
const { value, onChange = () => {}, min } = props;
const onInputChange = (e) => {
onChange(e.target.value);
};
const onInputBlur = (e) => {
let res = parseFloat(e.target.value);
if (isNaN(res)) res = "-";
onChange(res + "");
};
const onBtnClick = (add) => {
let res = parseFloat(value);
if (isNaN(res)) res = add;
res = res + add;
if (min !== undefined && res < min) res = min;
onChange(res + "");
};
const btnDisabled = useMemo(() => [value <= min], [value, min]);
return (
);
});