mirror of
https://github.com/nextui-org/nextui.git
synced 2025-12-08 19:26:11 +00:00
fix: isReadOnly in Autocomplete (#2429)
* feat(autocomplete): add isReadOnly example * fix(autocomplete): isReadOnly logic in Autocomplete * feat(root): add changeset - fixed isReadOnly logic in Autocomplete * chore(stories): set isClearable to false * fix(autocomplete): revise isClearable logic
This commit is contained in:
parent
feafb36fcc
commit
bae544d198
5
.changeset/thirty-bugs-beg.md
Normal file
5
.changeset/thirty-bugs-beg.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@nextui-org/autocomplete": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fixed isReadOnly logic in Autocomplete (#2420)
|
||||||
@ -123,6 +123,8 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
|
|||||||
const isClearable =
|
const isClearable =
|
||||||
originalProps.disableClearable !== undefined
|
originalProps.disableClearable !== undefined
|
||||||
? !originalProps.disableClearable
|
? !originalProps.disableClearable
|
||||||
|
: originalProps.isReadOnly
|
||||||
|
? false
|
||||||
: originalProps.isClearable;
|
: originalProps.isClearable;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -154,6 +156,7 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
|
|||||||
classNames,
|
classNames,
|
||||||
onOpenChange,
|
onOpenChange,
|
||||||
onClose,
|
onClose,
|
||||||
|
isReadOnly = false,
|
||||||
...otherProps
|
...otherProps
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
@ -166,6 +169,9 @@ export function useAutocomplete<T extends object>(originalProps: UseAutocomplete
|
|||||||
menuTrigger,
|
menuTrigger,
|
||||||
shouldCloseOnBlur,
|
shouldCloseOnBlur,
|
||||||
allowsEmptyCollection,
|
allowsEmptyCollection,
|
||||||
|
...(isReadOnly && {
|
||||||
|
disabledKeys: (children as unknown as Record<string, any>[]).map((o) => o.key),
|
||||||
|
}),
|
||||||
defaultFilter: defaultFilter && typeof defaultFilter === "function" ? defaultFilter : contains,
|
defaultFilter: defaultFilter && typeof defaultFilter === "function" ? defaultFilter : contains,
|
||||||
onOpenChange: (open, menuTrigger) => {
|
onOpenChange: (open, menuTrigger) => {
|
||||||
onOpenChange?.(open, menuTrigger);
|
onOpenChange?.(open, menuTrigger);
|
||||||
|
|||||||
@ -55,6 +55,11 @@ export default {
|
|||||||
type: "boolean",
|
type: "boolean",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
isReadonly: {
|
||||||
|
control: {
|
||||||
|
type: "boolean",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
decorators: [
|
decorators: [
|
||||||
(Story) => (
|
(Story) => (
|
||||||
@ -654,6 +659,16 @@ export const Required = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const ReadOnly = {
|
||||||
|
render: Template,
|
||||||
|
|
||||||
|
args: {
|
||||||
|
...defaultProps,
|
||||||
|
selectedKey: "cat",
|
||||||
|
isReadOnly: true,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
export const Disabled = {
|
export const Disabled = {
|
||||||
render: Template,
|
render: Template,
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user