-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
Windows
What browser(s) / client(s) have you tested
- 💥 Internet Explorer
- 💥 Microsoft Edge
- 💥 Google Chrome
- 💥 FireFox
- 💥 Safari
- mobile (iOS/iPadOS)
- mobile (Android)
- not applicable
- other (enter in the "Additional environment details" area below)
Additional environment details
- browser version 128.0.6613.114
- SPFx version 1.19.0
- Node.js version v18.20.4
Describe the bug / error
When a SharePoint List is using the updated UI experience, and the list has folders enabled, the this.context.listView
object is not kept in sync.
For example, this.context.listView.folderInfo.folderPath
property contains the initial value when the page is loaded, but is not updated when the user clicks in to folders on the list.
The this.context.listView.rows
is also stale, and only shows the items from the initial page load.
We have a ListView Command Set extension which uses the folderPath property to determine where in the list the user is when they clicked the Command Set button.
This differs to the behaviour on the 'old' modern UI.
Example:
-
First load of the list is mainly correct i.e. empty folder path as it's the root, rows = 3
-
Clicking in to 'Test' folder, folder path is still empty, and we see row count of 3, rather than row count of 1
-
If the page is refreshed while in the 'Test' folder, the context is correct
-
Clicking 'My List' on the breadcrumb, then leaves the context stale and showing the values for the 'Test' folder still
Steps to reproduce
- Create the default Command Set SPFx extension and update the config so it applies to Lists
- Change the dialog to output
this.content.listView.folderInfo.folderPath
and addconsole.log(this.context.listView)
- Create a SharePoint List and enable the 'New Folder' option via Advanced Settings
- Add items and a folder to the list
- Deploy the SPFx package
- Click in to the folder, then click the Command Set button
- Observe the stale context in the console
- Refresh the page while in the folder and click the Command Set button
- Observe the context is correct
- Click back to the root of the list using the list breadcrumb, and click the Command Set button
- Observe the context is stale
Expected behavior
The listView
object should reflect the correct rows
property and folderInfo
, as it does on the 'old' modern experience.