изменить выражение в компоненте lwc во время итерации - PullRequest
0 голосов
/ 05 апреля 2019

Мы можем использовать переменные в компонентах ауры для объединения некоторых выражений, мы должны использовать само имя переменной в lwc components, пока зацикливаемся, как изменить lwc comp variable в файле js.

Я попытался получить доступ к dom, используя this.template.querySelector (); но этот дает только значение, если я использую обработанный обратный вызов.

<template for:each={documentLinks} for:item="item">

// здесь мне нужно передать item.ContentDocument.LatestPublishedVersionId в конец строки URL

<img src={item.srcUrl} alt="PDF"/>

мы можем изменить возвращенные данные из apex, но данные являются прокси, мы не можем их изменить.

1 Ответ

0 голосов
/ 09 апреля 2019

Одним из возможных решений для изменения URL-адреса на DOM при загрузке является изменение возвращаемых данных с сервера. здесь, в веб-компонентах молнии возвращаемые данные являются прокси-объектами, доступными только для чтения. поэтому мы должны клонировать его (есть несколько способов клонировать его), чтобы внести какие-либо изменения. но вот что я сделал.

следовательно, массив переопределений будет новыми данными.

let overrides = [];
let newData = {
  contentDocs: data[i],
  srcUrl: '/sfc/servlet.shepherd/version/renditionDownloadrendition=thumb120by90&versionId=' + data[i]['ContentDocument']['LatestPublishedVersionId']
};
makeLoggable(newData);
overrides.push(newData);


function makeLoggable(target) {
  return new Proxy(target, {
    get(target, property) {
      return target[property];
    },
    set(target, property, value) {
      Reflect.set(target, property, value);
    },
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...