设置选定的纸张选项卡

时间:2015-04-28 13:39:26

标签: dart dart-polymer paper-elements

我正在尝试根据paper-tab属性选择data-id。我有元素,但我无法更改为selected的{​​{1}}属性。

我有一个聚合物:

inner_tabview

背后有一些Dart代码:

<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>

使用整数(索引)更改所选内容有效,但我不知道索引应该是什么。

我目前唯一能想到的是找到所有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 } 元素并获取paper-tab中正确元素的索引。但这听起来有点傻。

还有其他方式吗?

1 个答案:

答案 0 :(得分: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;

也应该有用