You can achieve something similar to your requirement. Firstly, you need to fetch the layout key information from the layout object. You can look for disvariant to get the key information if not able to find. Then use the key information to specify different handles for different data types. So basically you are having different layouts for different inputs or data types. As soon as you change the data type, the handle will do its job and display will change accordingly. Hope it helps!