I guess if I had a field that contained text useful as a button label that would work, but that isn't my situation. And still, that doesn't really disable the button, which would be preferable.
If I could put some useful logic in that button Expression along the lines of: IIf (IsEmpty($feature.field1), "No Data", "Click Me"), where I'm using field1 to store a URL used by SetLink, that would be closer to useful. But it looks like the Expression box won't take Arcade expressions(?).
My alternate solution was to leave the button as-is and instead set a default value for the field SetLink refers to. This default value is a URL that points to a web page that displays a "No data for this feature" message. So the button only functions meaningfully if the editor replaces the default value with a good URL. In my case, the good URL points to a Survey123 form.
Jay
Washoe County GIS