【发布时间】:2021-04-16 03:30:31
【问题描述】:
我正在为共享点创建自定义客户端 Web 部件。在编辑面板中,当单击按钮时,我想在渲染方法中的代码之后添加更多的 html,但是当代码附加到渲染方法中的 html 时,它会立即被删除并替换为硬编码的内容。
export default class ContentCardWebPart extends BaseClientSideWebPart<IContentCardWebPartProps> {
public render() {
this.domElement.innerHTML = `
<div class="${ styles.contentCard }">
<div class="${ styles.container }">
<div class="${ styles.row }">
<div id="contentCard" class="${ styles.column }">
<span class="${ styles.title }">Welcome to SharePoint!</span>
<p class="${ styles.subTitle }">Customize SharePoint experiences using Web Parts.</p>
<p class="${ styles.description }">${escape(this.properties.description)}</p>
<a href="https://aka.ms/spfx" class="${ styles.button }">
<span class="${ styles.label }">Learn more</span>
</a>
</div>
</div>
</div>
</div>`;
}
protected get dataVersion(): Version {
return Version.parse('1.0');
}
private ButtonClick() {
var myDiv = document.createElement("div");
myDiv.innerHTML = `<div>${this.properties.description}</div>`;
document.getElementById("contentCard").appendChild(myDiv);
}
按钮单击方法链接到出现在编辑面板中的按钮,并且在将代码附加到 document.body 时起作用,但不适用于呈现函数中存在的任何代码。请帮助我如何使用 JavaScript 修改此代码?
【问题讨论】:
标签: typescript sharepoint client-side web-parts