This commit is contained in:
2026-05-25 17:08:18 +08:00
parent df501f6151
commit f1259b71b5
9178 changed files with 1626125 additions and 0 deletions
@@ -0,0 +1,24 @@
import { useMemo } from 'react';
export const useAllowClear = (prefixCls, displayValues, allowClear, clearIcon, disabled = false, mergedSearchValue, mode) => {
// Convert boolean to object first
const allowClearConfig = useMemo(() => {
if (typeof allowClear === 'boolean') {
return {
allowClear
};
}
if (allowClear && typeof allowClear === 'object') {
return allowClear;
}
return {
allowClear: false
};
}, [allowClear]);
return useMemo(() => {
const mergedAllowClear = !disabled && allowClearConfig.allowClear !== false && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '');
return {
allowClear: mergedAllowClear,
clearIcon: mergedAllowClear ? allowClearConfig.clearIcon || clearIcon || '×' : null
};
}, [allowClearConfig, clearIcon, disabled, displayValues.length, mergedSearchValue, mode]);
};