Set Attribute
Dynamic custom attribute setting.
The attr(expression, attribute) allows you to dynamically set any custom attribute based on a specified condition or variable value. This makes it easy to update HTML elements with conditional attributes that respond to form interactions, scores, and other data-driven changes.
Setup
Attribute: sf-react = attr(expression, attribute)
Where: Place on any element within your form to dynamically set an attribute’s value based on an expression.
Usage: Use attr() to add or modify any custom attribute using the expression to define the attribute value. When the expression evaluates to true, the attribute is set accordingly.
Example
This example demonstrates how to dynamically set a custom data-status attribute based on a scoring variable.
<!-- Form Container -->
<div sf="exampleForm">
<!-- Step -->
<!-- Element with a dynamic data attribute -->
<div sf-react="attr($v.score > 10 ? 'achieved' : 'pending', 'data-status')">
<!-- Content here reflects the score's status -->
Score Status
</div>
</div>In this example:
Condition: The attribute
data-statusupdates based on the score in$v.score.Result: When
$v.scoreis greater than 10, thedata-statusattribute will show"achieved"; otherwise, it will display"pending".
Pro Tips
Multiple Dynamic Attributes: You can apply multiple
attr()reactivity attributes on different (or same!) elements within the same form.Complex Conditions: Use inline JavaScript or combined expressions for complex logic within
attr().
This feature provides full control over custom attributes based on real-time data, ideal for implementing conditional visuals, accessibility enhancements, or toggling attributes to improve user engagement.
Last updated
Was this helpful?