SetValue Command
Changes the value of a component property or binding. Each component has a defined set of dynamic properties that you can change with SetValue
. A component can also have named bindings that you can change with the SetValue
command.
Properties
The SetValue
command has the properties shown in the following table, in addition to the common command properties. Set the type
property to SetValue
.
In the following table, the "Default" column shows "Required" for properties that must have a value for the command to run. Otherwise it displays the default value, which might be none.
Property | Type | Default | Description |
---|---|---|---|
componentId | Selector | :source |
The component to update with the new value. |
property | String | Required | The name of the property to set. |
value | String | Required | The value to set on the property. |
The following example sets a value so that the punchline for a joke appears, because an opacity
value of 1 means the component is fully visible.
{
"type": "SetValue",
"componentId": "jokePunchline",
"property": "opacity",
"value": 1
}
The SetValue
command runs in fast mode, but without any delay.
componentId
A selector that identifies the component to update with the new value. When not provided, defaults to :source
. The :source
selector targets the component that issued the SetValue
command.
property
The name of the property to change. This can be a built-in component property or a binding defined in the bind
property for the component. For a component property, the property must be dynamic. To determine whether a component property is dynamic, see the table of properties for that component. For example, see the table of properties for the Text
to identify the dynamic properties of a Text
component.
The SetValue
command uses the following rules when updating a value:
- If the component has a dynamic property with the specified name, the command updates that property with the new value.
- Otherwise, if the component has a bind property with the specified name the command updates that bind property with the new value.
- When a bound property changes value, all dynamic properties of components that depend on that property are updated.
The following example shows how to update a binding value. Click the text in the simulator and note how the number increments each time. Refresh the page or change viewport profiles to reset the counter.
value
The new value to assign to the specified property
. The value
evaluates when the command runs, so it can take advantage of existing component properties. In the following example, the SetValue
command sets the opacity of the target component to 50% of its actual value.
{
"type": "SetValue"
"property": "opacity",
"value": "${event.target.opacity * 0.5}"
}
Related topics
Last updated: frontmatter-missing