Skip to content
This repository was archived by the owner on Dec 28, 2024. It is now read-only.
This repository was archived by the owner on Dec 28, 2024. It is now read-only.

selected-attribute problems with LitElement and polymer 3 #174

@markcellus

Description

@markcellus

Hello, thanks for building this awesome package!

Description

I am having an issue using the selected-attribute option with pages that extend LitElement using Polymer 3. Here I have created a test-page custom element that should have observers fire when active property is set, however it does not work.

<iron-pages 
  selected="test" 
  attr-for-selected="name"
  selected-attribute="active"
>
  <test-page name="test"></test-page>
</iron-pages>
import {html, LitElement} from '@polymer/lit-element/lit-element.js';
export class TestPage extends LitElement {

static get properties() {
    return {
      active: String
    }
  }
  _render() {
    // according to LitElement, this render method gets called everytime `active` changes
    console.log(this.active) // but prints undefined :(
    return html`<div>Test page</div>`;
  }
}

customElements.define('test-page', TestPage);

It appears that the toggleAttribute() is being called from Polymer's legacy-element-mixin . I suspect that this is an issue because it is not updating the lit element's observer on the active property.

Expected outcome

The observers on active property to fire and active property is truthy.

Actual outcome

active property doesn't seem to ever get set and no observers are fired so the element can re-render.

Browsers Affected

I've tested and only confirmed that this does not work on Chrome and Firefox, but I suspect it doesn't work on any other browsers.

  • Chrome
  • Firefox
  • Safari 9
  • Safari 8
  • Safari 7
  • Edge
  • IE 11
  • IE 10

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