Is there a way to make InputField[]
compatible with RepeatingElement
or a similar scheme of user interaction? The idea is to create an interface with many user defined variables, as many as the user sees fit to be exact.
Answer
Here's something to start with:
multiInput // ClearAll
multiInput[Dynamic[list_], type_: Number, def_: 0, opts___] :=
DynamicModule[{n = Length[list]},
Column[{
Button["+", AppendTo[list, def]; n++;],
Dynamic[
Grid[
Table[{
InputField[Dynamic[list[[#]]], type, opts],
Button["-", n--; list = Delete[list, #]]
} &@i, {i, n}]
, Alignment -> {Left, Center}],
TrackedSymbols :> {n}
]
}, BaseStyle ->
ButtonBoxOptions -> {ImageSize -> All, FrameMargins -> 5,
ContentPadding -> False}]
]
l = {};
multiInput[Dynamic@l]
Dynamic@l
Comments
Post a Comment