Button
Tappable button
A tappable element. Pass child to draw it yourself, or text for a plain label. action is a name your script recognises: the tap re-runs the script with that action in Script.actions, in the widget and in the preview.
Methods
Button(options?)WidgetNodeA tappable button.
- options Any
- text String
A plain label. Ignored when child is given.
- color Color
Label colour.
- padding EdgeInsets
Space around the label.
- child WidgetNode
Draw the button yourself. Wins over text.
- action String
A name your script recognises. The tap re-runs the script with it in Script.actions.
- payload Any
Any JSON value, delivered alongside the action.
- text String
Examples
Counter button
var count = Storage.get("count") || 0;
Script.onAction(function (a) {
if (a.name === "increment") count += a.payload.by;
});
Storage.set("count", count);
Script.setWidget(new Widget({
child: Row({ children: [
Text(String(count)),
Button({ text: "+1", action: "increment", payload: { by: 1 } }),
]}),
}));