You ask a very specific question, and for this question, your current way of solving the problem is certainly unreasonable from the button control (for example, I'm not sure it will look as good in all themes) . I would also consider:
But, even if that's not your question, I think you might be interested in looking at the design from a higher level, thinking about the tasks to be done and the overall design.
One of the things that jumps out at me is that the layout seems wrong, as in, the two columns should not be exchanged? The current command prompts users to enter text in the text input control first and then to choose the drop-down value. What happens if users put text in the input control and then change the value of the drop-down list to "prompt"? Their text was – was it intentional? Is he still here? Maybe you can always back it up so you do not lose it if it was unintentional, but in some cases it was intentional and the user did not want you to back it up, even as a backup.
You should therefore try to steer the flow towards the drop-down value selection first, and then only to complete the text control for the drop-down values that require one.
It would also be interesting to know if you need the grid. Note, for example, how QueryBuilder handles exactly this problem. I would suggest that research on similar query creation interfaces be inspired.