Polymer - Fire не обновляет флажки UI - PullRequest
0 голосов
/ 14 ноября 2018

У меня очень простая настройка.Когда я проверяю флажок, открывается всплывающее окно и просит ссылку на другой флажок.

Когда я закрываю всплывающее окно, независимо от того, какой флажок я выбрал, будут отмечены оба.

Я обновил массив со значением флажка.

После закрытия всплывающего окна значения отображаются прямо в массиве, но не в пользовательском интерфейсе.Когда я выбираю другую вкладку и возвращаюсь к этой вкладке, флажки отображаются справа.

this.fire('details', this.details);

Это не работает с дочерней страницы.

Как обновить родительский элемент?

1 Ответ

0 голосов
/ 14 ноября 2018

Выше вашего details события сработает событие с on-<your-custom-event> в родительском элементе как on-details Так что вам нужно назначить слушателю что-то вроде родительского:

<child-element
     on-details = '_detailsChanged'>
</child-element>
...
Polymer {(

    _detailsChanged: function(e) {
        // e.detail will give you this.details object
      }

Или я предполагаю, что выхотите назначить объект дочернему элементу и отразить наблюдения родительского элемента, поэтому в родительском элементе:

<child-element
    details = "{{details}}"
><child-element>

и дочернем элементе необходимо notify=true этот объект в объявлениях свойств и notifyPath снаблюдаемые изменения у родителя примерно такие:

properties: {
      details: {
          type:Object,
          notify:true
      }
    }
..

this.set('details', nevDetailsValue);  //Use this.set method 
this.notifyPath('details');  // Than detail property will change value at parent.

РЕДАКТИРОВАТЬ: необходимо указать точный путь !!

DEMO

 this.notifyPath('details.<path which is changed>'); // ie:this.notifyPath('details.name') 
...