You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React(TS)WebPart中将HTML输入写入SharePoint列表?

解决方案

1. 确保PnP JS已正确初始化

SPFx WebPart中必须通过上下文初始化PnP对象,否则无法正常调用SharePoint API。在你的WebPart主文件(非Liste.tsx,而是对应WebPart.ts)的onInit方法中添加初始化代码:

import { sp } from '@pnp/sp/presets/all';

export default class YourWebPartName extends BaseClientSideWebPart<IYourWebPartProps> {
  protected async onInit(): Promise<void> {
    await super.onInit();
    // 初始化PnP,传入SPFx上下文
    sp.setup({
      spfxContext: this.context
    });
  }

  // ... 其他代码
}

2. 添加错误捕获,排查具体问题

当前代码未处理API调用错误,无法定位失败原因。修改addListItem方法,添加try/catch捕获并打印错误:

private async addListItem() {
  alert("Hello World");
  try {
    const result = await sp.web.lists.getByTitle('Test123').items.add({
      Vorname: "Hello"
    });
    console.log("项目添加成功:", result);
    alert("数据已成功写入列表");
  } catch (error) {
    console.error("添加项目失败:", error);
    alert(`写入失败:${JSON.stringify(error)}`);
  }
}

注意需将方法改为async,因为items.add()是异步方法,需要用await等待执行完成。

3. 确认列表字段的内部名称

确保Vorname是列表字段的内部名称,而非显示名称。若字段曾被重命名,内部名称可能与显示名称不一致:

  • 进入列表设置 → 点击对应字段
  • 查看浏览器地址栏,末尾Field=后的字符串即为内部名称(如Field=Vorname)

4. 验证权限

确认当前登录用户拥有向Test123列表添加项目的权限(至少需“编辑”权限),可尝试手动向列表添加项目验证权限是否正常。

5. 检查列表名称是否正确

确认Test123是列表的准确标题,注意名称大小写敏感。


内容的提问来源于stack exchange,提问作者LeberkäseWhatsappgruppe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:40:52