问题描述
我创建了一个 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) => {
但它不喜欢它!
谢谢
解决方法
为了加载列表的特定视图,我使用了 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();