Skip to content

Button attribute not updating using classic components syntax #295

@tehmaestro

Description

@tehmaestro

Version

3.14.0

Test Case

https://ember-twiddle.com/32cb49c696b4b7ca2736b1e3a8c98599?openFiles=components.my-component%5C.js%2Ctemplates.components.my-component%5C.hbs

Steps to reproduce

Hey. Use the twiddle above, and press the Toggle email value button. This button sets the email field, which is being validated, to either some value, or empty .. we are validating for presence.

Expected Behavior

All buttons should be disabled. When email value is set, buttons should be enabled.

Actual Behavior

When using the classic component syntax, with the latest version of changeset, I saw that the button's disabled attribute was not being updated. This happens only when using changeset.isInvalid directly, without any additional helpers. Notice the button with this works, however, I've never used this inside one of my components (classic syntax), so I'm not even sure why that works.

I'm on my way of upgrading an Ember project to Octane, and I figured I should upgrade to the latest version of Ember (3.24 actually), before beginning the migration to Glimmer Components. So I had to update ember-changeset , however, I found this bug.

Do you guys have any suggestions? Why is this happening? Should I use an if helper, until I migrate the component to native class syntax, Octane, all that good stuff?
Also, how come printing change.isInvalid directly in the template works, but as a button attribute, it does not?
Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions