Полимер - клонNode, включая __data - PullRequest
0 голосов
/ 05 февраля 2019

Я использую библиотеку dragula для выполнения некоторых операций перетаскивания.

Dragula внутренне использует cloneNode(true) для создания копии перетаскиваемого элемента, который будет добавлен в телопоказать изображение предварительного просмотра при перетаскивании.

К сожалению, при перетаскивании полимерного элемента связанные данные не будут клонированы.Как следствие, содержимое перетаскиваемого элемента (например, <div>[[someString]]</div>) пусто.

Есть ли решение для этого?

На самом деле мне не нужно привязывать данные для моего элемента,это просто элемент «только для чтения», который отображает некоторые данные, которые не изменяются после инициализации.Может быть, есть способ как-нибудь «разрешить» строки в html, не привязываясь больше?

Спасибо вам уже!

1 Ответ

0 голосов
/ 06 февраля 2019

Нашел решение сам.Вы должны переопределить метод cloneNode внутри класса полимера:

cloneNode(deep) {
  let cloned = super.cloneNode(deep);
  for (let prop in MyClass.properties) {
    cloned[prop] = this[prop];
  }
  return cloned;
}
...