1

paper-tabその属性に基づいてを選択しようとしていdata-idます。私は要素を持っていますが、selectedのプロパティに変更できませんinner_tabview

私はポリマーを持っています:

<paper-tabs id="inner_tabview" noink="true">
    <template repeat="{{item in tabNames}}">
        <paper-tab data-id="{{item['id']}}"><h3>{{item['name']}}</h3></paper-tab>
    </template>
</paper-tabs>

And some Dart code behind it:

selectTab(itemId) {     
    PaperTab item = shadowRoot.querySelector("paper-tab[data-id='" + itemId + "']");
    print('Selecting: ' + itemId + ', text:' + item.text);

    PaperTabs tabView = shadowRoot.querySelector('#inner_tabview');
    tabView.selected = item; // This doesn't work
}

Changing the selected using an integer (index) works, but I don't know what the index should be.

Only thing I can currently think of is finding all paper-tab elements and get the index of the correct element in that List. But that sounds a bit silly to do so.

Any other way?

4

1 に答える 1

2

なぜ機能しないのかわかりquerySelectorませんがselected、デフォルトでは要素ではなくインデックスが必要です。

属性を指定するとvalueattr、インデックス以外の属性を使用できます。

<paper-tabs id="inner_tabview" noink="true" valueattr="data-id">
    <template repeat="{{item in tabNames}}">
        <paper-tab data-id="{{item['id']}}"><h3>{{item['name']}}</h3></paper-tab>
    </template>
</paper-tabs>

それから

tabView.selected = itemId;

同様に動作するはずです

于 2015-04-28T13:46:25.607 に答える