Comments (5)
I think the correct solution here would be to take the union of the two defaults. In this case all three would be selected as lettuce is in the toppings and the other two are selected.
Really good call on catching this intended behaviour btw! Thank you so much!
from huh.
Hey @Iilun, this is possible if you set the variable to the default value you want:
value := "default value"
huh.NewInput().Value(&value).Run()
The field will be pre-filled with the value ("default value")
from huh.
@maaslalani All the fields can be prefilled with Value(&value)
, except Select
and MultiSelect
. I know I can achieve the same behavior with huh.NewOption(...).Selected(true)
, but not with huh.NewOptions
. Is this on purpose? Using Value(&value)
would be interesting in scenarios when editing existing data and keeping consistency with other field types.
If this behavior is not intended, I'd love to open a PR fixing it!
from huh.
Hey @vitor-mariano, yes we'd love to accept a PR that inspects the default value of select and multi-select and pre-selects the values.
toppings := []string{"lettuce", "tomatoes"}
huh.NewMultiSelect().Options(huh.NewOptions("lettuce", "tomatoes", "cheese")).Value(&toppings).Run()
// first two should be selected
from huh.
@maaslalani before moving forward with the fix, what should happen if I have both value and Selected(true)
? Eg
huh.NewMultiSelect().
Options(
huh.NewOption("lettuce", "lettuce"),
huh.NewOption("tomatoes", "tomatoes").Selected(true),
huh.NewOption("cheese", "cheese").Selected(true),
).
Value(&toppings).
Run()
from huh.
Related Issues (20)
- about file picker: support order by name, size, modified time, etc. just like `ls` command
- For Single or Multiple Select, Support Circular Selection
- build stacktrace because `huh` uses refactored `x/exp/term` HOT 1
- Confirm box default to Yes HOT 2
- Confirm button indent at wrong position HOT 3
- FR: Fuzzy find for file picker and select
- Preceding a confirm dialog with a spinner causes the first input keystroke to be ignored HOT 2
- v0.5.0 broke withHide function
- Don't render title row when title is empty
- Feature Request: Validate on a Group
- v0.5.3 breaks Select.Title when options don't fit on the screen
- Allow Cursor option for the filepicker HOT 1
- Looking for help with some issues HOT 2
- `huh.Text`, ^e, open in `$EDITOR`, and Emacs keybindings HOT 1
- Column layout does not show "next" columns after first "screen"
- huh.NewConfirm() proceeds even with validation error
- large title in huh.NewConfirm() breaking alignment HOT 1
- Dynamic fields sometimes don't render when initially switching to a new group
- FR: Enhance FilePicker UX for directory mode
- Focus not given to first field when redirected to a huh.Form from a tea.Model HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from huh.