SharePoint / SharePoint/sp-dev-docs
List Formatting: Unable to update column containing deleted user with setValue
@Amey-MSFT is already working on this.
Since May 26, 2025.
- Dominant language
- PowerShell
- Stars
- 1.4k
- Forks
- 1.1k
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 12
Description
Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
Declarative list formatting
Developer environment
None
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
No response
Describe the bug / error
When attempting to update a multiple selectable person column using setValue, an error is displayed if the field to be updated contains a deleted user.
https://github.com/SharePoint/sp-dev-docs/assets/51254139/3943ed5a-713a-4006-9c7c-ac7da37b6b1c
The update uses the appendTo and removeFrom operators. (Reference: Advanced formatting concepts)
*Deleted user has not been removed from the user information list.
Steps to reproduce
-
Create a
Favoritescolumn (column type: Multiple Choice Person column) in the list -
Set the user to be deleted in the created column
-
Delete a user in the Microsoft 365 Admin Center
-
Set the following JSON in the
Favoritescolumn created
JSON
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "div",
"children": [
{
"elmType": "div",
"style": {
"font-size": "18px",
"padding": "2px 7px 2px 7px",
"cursor": "pointer",
"border-radius": "10px"
},
"attributes": {
"class": "ms-bgColor-themeTertiary--hover"
},
"customRowAction": {
"action": "setValue",
"actionInput": {
"Favorites": "=if(indexOf(@currentField.email , @me) > -1 , removeFrom(@currentField.email , @me) , appendTo(@currentField.email , @me) )"
}
},
"customCardProps": {
"openOnEvent": "hover",
"directionalHint": "rightCenter",
"isBeakVisible": true,
"formatter": {
"elmType": "div",
"style": {
"max-height": "300px",
"padding": "5px 20px 5px 20px",
"display": "flex",
"flex-direction": "column"
},
"children": [
{
"elmType": "div",
"txtContent": "= '💖 ' + length(@currentField)",
"style": {
"padding": "10px",
"font-weight": "bold",
"font-size": "20px"
}
},
{
"elmType": "div",
"children": [
{
"forEach": "personIterator in @currentField",
"elmType": "div",
"style": {
"margin-bottom": "5px",
"display": "flex",
"align-items": "center"
},
"children": [
{
"elmType": "img",
"style": {
"width": "32px",
"height": "32px",
"border-radius": "50%",
"margin-right": "5px"
},
"attributes": {
"src": "=getUserImage([$personIterator.email], 'S')",
"title": "[$personIterator.title]"
}
},
{
"elmType": "span",
"txtContent": "[$personIterator.title]"
}
]
}
]
}
]
}
},
"children": [
{
"elmType": "span",
"style": {
"margin-right": "5px"
},
"txtContent": "💖"
},
{
"elmType": "span",
"style": {
"font-weight": "=if(indexOf(@currentField.email , @me) > -1 , 'bold' ,'' )"
},
"txtContent": "=length(@currentField)"
}
]
}
]
}
- Click the button displayed by JSON
Expected behavior
Can be updated even if deleted users are included.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.