From 6c0a047d4a041e05cd55bbc2014ccc734e7e1c0f Mon Sep 17 00:00:00 2001 From: zombiej Date: Tue, 21 Dec 2021 15:42:13 +0800 Subject: [PATCH] chore: back of dropdownStyle --- examples/debug.tsx | 4 ++-- src/Cascader.tsx | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/examples/debug.tsx b/examples/debug.tsx index 9ade32e1..3edbb726 100644 --- a/examples/debug.tsx +++ b/examples/debug.tsx @@ -109,7 +109,7 @@ const Demo = () => { { defaultValue={[['not', 'yet'], ['exist']]} showSearch // showSearch={{ limit: 1 }} - // open + open // direction="rtl" // searchValue="福a" // changeOnSelect diff --git a/src/Cascader.tsx b/src/Cascader.tsx index bd77d73b..e62a634c 100644 --- a/src/Cascader.tsx +++ b/src/Cascader.tsx @@ -270,7 +270,7 @@ const Cascader = React.forwardRef((props, re mergedSearchValue, mergedOptions, mergedFieldNames, - prefixCls, + dropdownPrefixCls || prefixCls, searchConfig, changeOnSelect, ); @@ -460,6 +460,18 @@ const Cascader = React.forwardRef((props, re // ============================================================== // == Render == // ============================================================== + const emptyOptions = !(mergedSearchValue ? searchOptions : mergedOptions).length; + + const dropdownStyle: React.CSSProperties = + // Search to match width + (mergedSearchValue && searchConfig.matchInputWidth) || + // Empty keep the width + emptyOptions + ? {} + : { + minWidth: 'auto', + }; + return ( ((props, re id={mergedId} prefixCls={prefixCls} dropdownMatchSelectWidth={false} - dropdownStyle={{ minWidth: 'auto' }} + dropdownStyle={dropdownStyle} // Value displayValues={displayValues} onDisplayValuesChange={onDisplayValuesChange} @@ -480,7 +492,7 @@ const Cascader = React.forwardRef((props, re showSearch={mergedShowSearch} // Options OptionList={OptionList} - emptyOptions={!(mergedSearchValue ? searchOptions : mergedOptions).length} + emptyOptions={emptyOptions} // Open open={mergedOpen} dropdownClassName={mergedDropdownClassName}