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.
$\begingroup$
$\endgroup$
3
$\begingroup$
$\endgroup$
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
InputField
's appear and disappear from the GUI panel with the click of a button. $\endgroup$ – useranonis Feb 15 '18 at 23:52Table
andWith
. I think the advanced dynamics tutorial in the docs has examples as well. $\endgroup$ – Mike Honeychurch Feb 15 '18 at 23:58