迭代时更改lwc组件中的表达式

问题描述 投票:0回答:1

我们可以使用光环组件中的变量来连接一些表达式,我们必须在lwc components中使用变量名本身,同时循环如何更改js文件中的lwc comp variable

我试图使用this.template.querySelector()访问dom;但是如果我使用渲染的回调,这个只给出值。

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

//这里我需要将item.ContentDocument.LatestPublishedVersionId传递给URL字符串的末尾

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

我们可以修改从apex返回的数据,但数据是代理我们无法修改它。

components salesforce salesforce-lightning lightning
1个回答
0
投票

在加载时更改dom上的URL的一种可能解决方案是更改从服务器返回的数据。这里,在闪电网络组件中,返回的数据是一个代理对象,只能读取。所以我们必须克隆它(有多种方法来克隆它),进行任何更改。但在这里我做了什么。

因此,覆盖数组将成为新数据。

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);
    },
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.