这是我的布局。没有铁列表它可以工作,但有了它它给我错误
Uncaught TypeError:this。$。selector.clearSelection不是函数
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="../bower_components/paper-input/paper-input.html">
<link rel="import" href="../common-settings-service/common-settings-service.html">
<link rel="import" href="../bower_components/paper-button/paper-button.html"/>
<link rel="import" href="../bower_components/paper-material/paper-material.html"/>
<link rel="import" href="../bower_components/iron-list/iron-list.html">
<link rel="import" href="../bower_components/iron-flex-layout/iron-flex-layout.html">
<dom-module id="common-settings">
<style>
:host {
display: block;
}
paper-material {
background: #FFFFFF;
}
.container {
@apply(--layout-horizontal);
}
.windowItem {
@apply(--layout-horizontal);
}
.list {
@apply(--layout-flex);
@apply(--layout-vertical);
}
.item {
@apply(--layout-horizontal);
margin: 16px 16px 0 16px;
padding: 20px;
border-radius: 8px;
background-color: white;
border: 1px solid #ddd;
}
</style>
<template>
<common-settings-service
id="commonSettings"
url="/board_service/common_settings/"
settings="{{settings}}"/>
<paper-material elevation="1">
<div class="container">
<h3> Настройки обработки</h3>
<h4>Окна</h4>
<div class="list">
<iron-list items="[[settings.timeWindows]]" as="item">
<template>
<div class="item">
Name: <span>[[item]]</span>
</div>
</template>
</iron-list>
</div>
虽然我不知道如何向您展示现场演示,但我已经能够调试一些铁列表代码。问题出在最后一行。
clearSelection: function() {
function unselect(item) {
var model = this._getModelFromItem(item);
if (model) {
model[this.selectedAs] = false;
}
}
if (Array.isArray(this.selectedItems)) {
this.selectedItems.forEach(unselect, this);
} else if (this.selectedItem) {
unselect.call(this, this.selectedItem);
}
this.$.selector.clearSelection();
},
调试显示选择器中确实没有这样的功能。而这个选择器实际上是来自聚合物库的数组选择器元素。它在源代码中有这样的功能。
答案 0 :(得分:2)
好的,所以我找到了原因。他们已经改变了1.0.9和1.1.1之间的API。我的聚合物是版本1.0.9,这就是为什么它没有工作。 我已将所有聚合物元素更新到最新版本,现在可以使用。