Troubleshooting: Picklist field is not editable
PROBLEM: A user is unable to edit a picklist field on a certain Skuid page.
RESOLUTION: The picklist was a dependent picklist and its controlling field needed to be included in the model. This issue affects Salesforce data sources.
A certain picklist field is not editable at runtime. Other fields in the Table can be edited, but when you click on the picklist field, nearly all values are missing.
- First, I checked user permissions. When a field is not editable, user permissions are the first thing to check. In this case, the client demonstrated that the picklist was editable in other Skuid pages, as well as outside of Skuid in standard Lightning page layouts. This demonstrated that the user had the Salesforce permissions they needed to edit the record.
- Then, I looked into styling-related issues. I noticed that the client was using Skuid v1 pages in the Lightning Experience. I though there could be an issue with the way their custom Theme was interacting with Lightning. With Skuid v1 pages in Lightning, we recommend using the Lighting Design Theme, or a theme which has been based off of it, since this theme has been optimized for Lightning.
- First, I checked that Themes and Design Systems were up to date (See Update Out of Date Themes)
- Then, I cloned the original page. (See General Troubleshooting Process #3B).
- Finally, I changed the page's Theme to the Lightning Design Theme and the issue persisted. This ruled out styling issues as the cause.
- I previewed the page directly from the Skuid page builder and found that the error persisted outside of the Lightning Experience.
- When I opened the Salesforce object settings and looked at the field in question, I discovered that the field was a dependent picklist.
When using dependent picklists in Skuid, the controlling field needs to be included in the model so Skuid knows which options are available. For more details, see Using dependent picklists in the Skuid Docs.
This was a configuration issue. The picklist depended on another field which hadn't been included in the model. When we included the controlling field in the model, the dependent picklist became editable.
- When using dependent picklists in Skuid, make sure to include the controlling field in the model.
- If a data field doesn't behave as expected, check potential data-related reasons first (permissions, model settings, field settings), before checking design related reasons like custom Themes.
- Related Error Message: "bad value for restricted picklist field." Sometimes if the controlling field isn't included in the model, the dependent picklist options may be available at runtime. However, you will get this error message when you try to save the field.