Skip to content Skip to sidebar Skip to footer

Polymer 1.x: How To Data Bind To A Variable Boolean Attribute?

Question How do I bind a variable to/as the disabled attribute of a element? Based on the results of my code, it looks like the only way to toggle the disa

Solution 1:

disabled is a native HTML attribute. To bind to native attributes, you must use $= instead of =.

<paper-checkboxdisabled$="{{isDisabled}}">Foo</paper-checkbox>

Solution 2:

You need to bind the attribute like so: disabled=[[bool]]. This is the equivalent of calling element.disabled = bool where element is some instance of paper-checkbox.

See this forked JSBin for an example.

Basically a Boolean HTMLAttribute will be true if that attribute exists, and false if it does not exist. So for:

<paper-checkboxdisabled="[[isDisabled]]"></paper-checkbox>

The output HTML will look like this:

<paper-checkboxdisabled></paper-checkbox>

when isDisabled is true, and look like this:

<paper-checkbox></paper-checkbox>

when isDisabled is false.

That's why setting

<paper-checkboxdisabled="false"></paper-checkbox>

will still make the checkbox disabled.

See the last paragraph in Polymer's Documentation on Attribute Deserialization

Solution 3:

Haven't you left out disabled$={{Boolean}}?

Post a Comment for "Polymer 1.x: How To Data Bind To A Variable Boolean Attribute?"