Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to control selected index from outside of the component #34

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

dnnsmnstrr
Copy link

@dnnsmnstrr dnnsmnstrr commented Oct 2, 2020

(creating this as a new pull request for it to count to my hacktoberfest contributions)

These changes were made because I wanted to keep the index state in a parent component, so it could listen for user input and a matching option could be highlighted by setting the state.
When the index prop changes, its value will be used for the selectedIndex, and by passing the nextSelectedIndex to the onHighlight function, that outside state can be kept up-to-date.

dnnsmnstrr and others added 9 commits July 30, 2020 01:52
By taking in the index as a prop, we can control the selected index from outside of the component.
By passing the nextSelectedIndex to onHighlight, we can keep an index state outside of the component up-to-date
When index was undefined, the effect would overwrite the initialIndex state. This fixes that issue, although the index still overwrites the initialIndex if it does exist.
Before it would not be possible to set the index to zero, due to it being falsy
Co-authored-by: Vadim Demedes <[email protected]>
@dnnsmnstrr
Copy link
Author

dnnsmnstrr commented Oct 2, 2020

@vadimdemedes I've added tests and documentation, but I'm having problems with the prettier. It is giving me an error: Error: Failed to load plugin 'prettier' declared in 'CLIOptions': Cannot find module 'eslint -plugin-prettier'

@vadimdemedes
Copy link
Owner

@dnnsmnstrr Could you try deleting node_modules and running npm install again?

@vadimdemedes
Copy link
Owner

Also, feel free to mark this PR as ready when it's ok to start reviewing it.

* upstream/master:
  5.0.0
  Migrate to ESM and Ink 4 (vadimdemedes#46)
  4.2.2
  Refresh dependencies
  Fix stuck selection when `initialIndex` is larger than `limit` (vadimdemedes#44)
  4.2.1
  Update peer dependencies to allow React 17.x (vadimdemedes#37)
  Fix old version link in readme
  4.2.0
  Reset selected item only when list values change (vadimdemedes#33)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants