in packages-rc/console-base-rc-tooltip/src/model/hook/_use-model-props.ts [24:76]
export default function useModelProps(): [IModelPropsSafe, IPropsDom] {
const {
props
} = useModelContext();
return useMemo((): [IModelPropsSafe, IPropsDom] => {
const {
title,
content,
theme = ETooltipTheme.NORMAL,
placement = ETooltipPlacement.TOP,
arrow = true,
arrowOffset,
visible,
defaultVisible = false,
closable,
autoClose = 0,
autoCloseKey = '',
autoCloseCounter = true,
onConfig,
onClose,
...propsDom
} = props;
let autoCloseSeconds = 0;
if (autoClose === true) {
autoCloseSeconds = 5;
} else if (autoClose) {
const n = Math.round(autoClose);
if (n > 0) {
autoCloseSeconds = n; // 保证正整数
}
}
return [{
title,
content,
theme,
placement,
arrow,
arrowOffset,
visible,
defaultVisible,
closable,
autoClose: autoCloseSeconds,
autoCloseKey,
autoCloseCounter,
onConfig,
onClose
}, propsDom];
}, [props]);
}