【问题标题】:I can get all the items in a list using SPFX ... How to modify my code to just get a particular view?我可以使用 SPFX 获取列表中的所有项目......如何修改我的代码以获得特定视图?
【发布时间】:2021-09-01 03:58:37
【问题描述】:

我创建了一个 SPFX Web 部件来从列表中获取项目,它工作正常。 我有一条线……

resultData = await sp.web.lists.getByTitle(this.properties.listName).items.select(...colsToSelect).orderBy(localColumnToOrderBy, true).get().then((items: any) = > {

我现在只需要从特定视图中获取项目。

有人知道怎么修改吗?

我试过... resultData = await sp.web.lists.getByTitle(this.properties.listName).views.getByTitle("我的视图名称")().items.select(...colsToSelect).orderBy(localColumnToOrderBy, true).get( ).then((items: any) => {

但它不喜欢它!

谢谢 P

【问题讨论】:

    标签: typescript sharepoint sharepoint-online spfx


    【解决方案1】:

    要加载列表的特定视图,我使用的是 renderListDataAsStream 函数(它有更多的好处,如标准 get())。

    加载数据:

    if (viewId !== null) {
      const overriderenderListDataParams: any = {
        View: viewId
      };
      const renderListDataParams: any = {
        RenderOptions: 1687
      };
      rawData = await sp.web.lists.getById(this.props.ListToDisplay).renderListDataAsStream(renderListDataParams, overriderenderListDataParams);
      } else {
        const renderListDataParams: any = {
          RenderOptions: 1687
        };
        rawData = await sp.web.lists.getById(this.props.ListToDisplay).renderListDataAsStream(renderListDataParams); 
    }
    

    要获取列表的视图:

    const viewData = await sp.web.lists.getById(this.props.ListToDisplay).views.filter('Hidden ne true').get();
    

    【讨论】:

    • 谢谢我试过这个,但它不起作用... const viewData = await sp.web.lists.getById(this.props.ListToDisplay).views.filter('Hidden ne true ').get();
    • 返回什么?当然,您必须将变量 this.props.ListToDisplay 更改为列表的 ID。
    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2022-08-09
    • 1970-01-01
    • 2020-02-09
    • 2022-12-14
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多