Example of dropdown that doesn't spread taint:
Lua Code:
local dropdown = CreateFrame("Button", "TestDropdown", parent, "UIDropDownMenuTemplate")
dropdown.text = _G["TestDropdownText"]
dropdown.text:SetText("Default text")
dropdown.info = {}
dropdown.initialize = function(self)
wipe(self.info)
for key, value in pairs(dataTable) do
self.info.text = key
self.info.value = value
self.info.func = function(item)
self.selectedID = item:GetID()
self.text:SetText(key)
self.value = value
end
self.info.checked = key == self.text:GetText()
UIDropDownMenu_AddButton(self.info, 1)
end
end
-- get value from dropdown.value