There are different ways to do this... disable all, then re-enable the specific one desired, for example. I tend to use an array and pass that out of a function node that I feed back into the UI object(s).
So if I have three buttons, and I want to and enable one, disable two... [ true, false, false] for example, then the function node is set to have 3 outputs, so a message is send to each UI element as msg.enabled = true for 1, msg.enabled = false for 2, and msg.enabled = false for 3. Would think the same would be similar for options in a list, drop down menu, etc. Just all depends on how the given UI object accepts change of state? For example, ui-list nodes, want to have an array of objects, where each object has a title and value.
But I think for disable or enable on some UI nodes you will need to use msg.control method. Or maybe this node can help? https://flows.nodered.org/node/node-red-contrib-ui-actions. All comes down to which widget your are planning to use and where.