@cainiaofe/cn-ui-layout
Version:
- 安装 cone-cli | [Cone-CLI 使用指引](https://alidocs.dingtalk.com/i/nodes/xdqZp24KneBJzvGM6XezJvyb7RA0Nr1E) - `tnpm i -g @alife/cone-cli@latest` - 安装依赖包 - `cone install` - 启动研发 - `cone start`
33 lines • 1.49 kB
JavaScript
import { useContext } from 'react';
import classNames from 'classnames';
import isNumber from 'lodash/isNumber';
import isString from 'lodash/isString';
import Context from "../common/context";
// 通过判断容器 props 值,给容器设置class,由 class 控制容器 flex 样式
var useFlexClassNames = function useFlexClassNames(props) {
var _classNames;
var autoFit = props.autoFit,
width = props.width,
height = props.height,
style = props.style;
var _useContext = useContext(Context),
prefix = _useContext.prefix;
var clsPrefix = prefix + "flex-item";
var validWidth = width || (style === null || style === void 0 ? void 0 : style.width);
var validHeight = isNumber(height) || isString(height) && height !== '' ? height : undefined;
var validMinHeight = style === null || style === void 0 ? void 0 : style.minHeight;
var isDefault = false;
var isAutoFit = false;
var isValidWidth = false;
var isValidHeight = false;
if (autoFit) {
isAutoFit = true;
} else if (validHeight || validMinHeight || validWidth) {
isValidHeight = validHeight || validMinHeight;
isValidWidth = validWidth;
} else {
isDefault = true;
}
return classNames((_classNames = {}, _classNames[clsPrefix + "-default"] = isDefault, _classNames[clsPrefix + "-auto-fit"] = isAutoFit, _classNames[clsPrefix + "-valid-width"] = isValidWidth, _classNames[clsPrefix + "-valid-height"] = isValidHeight, _classNames));
};
export default useFlexClassNames;