如何在 Web 部件属性 spfx 的下拉列表中获取 SharePoint 在线站点中存在的各种列表

how to get various lists present in a SharePoint online site in a dropdown for webpart properties spfx

下面是我正在使用的方法,我在下面的方法中做错了什么? 请告诉我。

      private async GetLists(): Promise<any>
          {
          console.log("Hitting GetLists Method");
       return await 
          this.context.spHttpClient.get(`${this.context.pageContext.web.absoluteUrl}/_api/web/lists`, 
            SPHttpClient.configurations.v1,{
             headers: [
                ['accept', 'application/json;odata=nometadata'],
                        ['odata-version', '']
                    ]
                   }).then((data) => 
                 {
                        //console.log("Total number of lists are " + data.length);
                                 return data;
                    });
                    }

我的测试代码供大家参考:

private GetLists(): Promise<any> {

    return this.context.spHttpClient.get(this.context.pageContext.web.absoluteUrl + "/_api/web/lists", SPHttpClient.configurations.v1,{
      headers: [
         ['accept', 'application/json;odata=nometadata'],
                 ['odata-version', '']
             ]
            })

      .then((response: SPHttpClientResponse) => {
        
        return response.json();

      }).then(response=>console.log(response));

  }

测试结果:

尝试使用 PnPjs:

private GetLists(): Promise<any> {
    return sp.web.lists.get().then((data) => {
      console.log("Total number of lists are " + data.length);
      return data;
    });
}

https://pnp.github.io/pnpjs/getting-started/