Skip to content

Commit 96ad635

Browse files
mperrottiSwiftwork
andauthored
Autocomplete: allow "falsely" input values (#2154)
* fix: allow autocomplete input value to be falsely * chore: added changeset * fixes linting error Co-authored-by: Erik Hughes <[email protected]>
1 parent ce45de3 commit 96ad635

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

.changeset/cold-bottles-attend.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@primer/react': patch
3+
---
4+
5+
Allow "falsely/empty" Autocomplete.Input values

src/Autocomplete/AutocompleteInput.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,7 @@ const AutocompleteInput = React.forwardRef(
146146
}, [autocompleteSuggestion, inputValue, inputRef, isMenuDirectlyActivated])
147147

148148
useEffect(() => {
149-
if (value) {
150-
setInputValue(value.toString())
151-
}
149+
setInputValue(typeof value !== 'undefined' ? value.toString() : '')
152150
}, [value, setInputValue])
153151

154152
return (

src/__tests__/Autocomplete.test.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,14 @@ describe('Autocomplete', () => {
321321
inputNode && userEvent.type(inputNode, '{esc}')
322322
expect(inputNode?.getAttribute('aria-expanded')).not.toBe('true')
323323
})
324+
325+
it('allows the value to be 0', () => {
326+
const {getByDisplayValue} = HTMLRender(
327+
<LabelledAutocomplete menuProps={{items: mockItems, selectedItemIds: []}} inputProps={{value: 0}} />
328+
)
329+
330+
expect(getByDisplayValue('0')).toBeDefined()
331+
})
324332
})
325333

326334
describe('Autocomplete.Menu', () => {

0 commit comments

Comments
 (0)