У меня есть свойство списка элементов карты.Сброс и обновление свойства списка в полимере 1.0.rc
@property
List<Map<String, dynamic>> items = [
{'name': 'Acrid', 'checked': false},
{'name': 'Fishy', 'checked': false}
];
, которые отображаются, когда условие if равно true.
<template
restamp
is = "dom-if"
if = "[[normalChangedRestampedToggler]]">
<div
class = "layout horizontal wrap body auto"
id = "container">
<paper-material
pad-bottom
class = "dropdown-content layout vertical"
elevation = "5">
<paper-input
value = "{{filterValue}}"
label = "Search"
class = "margin">
<iron-icon
suffix
icon = "search"></iron-icon>
</paper-input>
<paper-menu multi
on-click = "onClickHandler">
<template
id = "repeat"
is = "dom-repeat"
items = "{{items}}"
filter = "{{filter(filterValue)}}">
<paper-item
role = "menuitemcheckbox"
toggles = "true"
active = "{{item.checked}}">
<paper-checkbox
checked = "[[item.checked]]"
checked-changed = "checkedChanged"></paper-checkbox>
[[label(item)]]
</paper-item>
</template>
</paper-menu>
</paper-material>
</div>
</template>
Условный, если устанавливается с помощью кнопки бумаги переключения:
@reflectable
void toggleNormalChangedEvent(event, [_]) {
normalChangedRestampedToggler = !normalChangedRestampedToggler;
set('normalChangedRestampedToggler', normalChangedRestampedToggler);
switch (normalChangedRestampedToggler) {
case false:
for(var item in data)
{
item['checked'] = false;
}
set('items', data);
data = new List<Map<String, dynamic>>();
break;
}
}
В то время как интерфейс переключает, как и ожидалось,
set('items', data);
не кажется, чтобы сбросить элементы - старое проверенное состояние флажков остается. Похоже, что свойство items не обновляется.
Можете ли это обновление принудительно каким-либо образом?
PS Возможно, проблема связана с тем, что флажки находятся в вложенном шаблоне? Если это так, есть ли способ преодолеть эту проблему?
Благодаря
Это код! Можете ли вы попытаться создать минимальный пример - удалите как можно больше кода, сохранив воспроизводимость проблемы. Это хорошая практика и часто выявляет проблему. –
Я создал небольшой проект, который генерирует ту же ошибку. Однако это почти то же самое, что и выше. Хотелось бы, чтобы я мог опубликовать папку здесь или какой-нибудь другой вариант. –
См. Отредактированный код выше. –