How to use dropdown component with a multi-column dataset to return all fields for the selected item

I have a dropdown menu that is populated by a multi-column (4) dataset. Many of the columns can have the same values but are unique as a row when you consider all column values.
The dropdown only seems to show item names from the right-most column, and when you select an item, the value is set to the 2nd right-most column. Is there any way either have the value set to a json object containing the values of each column in the row selected, or setting the value to the dataset selectedIndex (as it would in Vision)?

Dropdowns really only care about value and label. If those aren’t supplied as columns in the Dataset, I think there’s some logic to find a reasonable column (I don’t think a user would want boolean values for labels, but boolean values make sense for values). That being said, I’ve found that the easiest way to control my labels, values, and the easiest way to manage change scripts and/or message handlers which interact with the Dropdown is to manage my data myself and shape it to work for the component. Sometimes this means making an array of objects from a dataset, sometimes it means looping over a Query binding to locate unique values.

You are be able to keep additional properties in your options, even though you’ll see a warning in the Designer; this warning is benign and a holdover from 8.0.0Alpha/Beta.

The following script allows for accessing these properties as part of the onChange Script:

# where each option has an additional key of "something".
for option in self.props.options:
    if option.value == currentValue.value:

You can also make the value of each option an object if that makes it any easier for you: