dart - 设置所选的纸制标签

标签 dart dart-polymer paper-elements

我正在尝试根据paper-tab属性选择data-id。我有元素,但无法更改为selectedinner_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>

还有一些Dart代码:
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元素,并获取该List中正确元素的索引。但这听起来有点愚蠢。

还有其他方法吗?

最佳答案

我不知道为什么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;

应该也可以

关于dart - 设置所选的纸制标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29921192/

相关文章:

javascript - 观察者不响应 Polymer 2.x 中的 <paper-input>

flutter - 如何使容器可点击,以及如何在单击时导致其他页面 flutter

button - 如何创建带有彩色阴影的渐变按钮

http - Dart Http 包请求超时

flutter - Flutter导航重新呈现历史记录堆栈页面中的所有页面

css - polymer 1.2 : Change paper-item selected background colour

listbox - 需要访问多个(可能)所选选项

dart - 通过大括号而不是点 (.) 运算符访问数据绑定(bind)

php - 加速 Polymer Dart 的最佳实践?

dart - 如何将事件对象从 paper 按钮单击传递到 angular.dart 的函数?