有人知道如何使用统一的字符串设置的dropdownUI值吗?
我知道如何用这样的int设置它
public DropDown dropdown;
dropdown.value = 1;
但是,我想要的是使用给定的字符串设置值。
类似的东西:
dropdown.value = "an Option";
答案 0 :(得分:3)
查看Dropdown.value的文档:
public int value;
值是下拉列表中当前选择的索引号。 0是下拉列表中的第一个选项,1是第二个选项,依此类推。
它的类型为int
,因此简而言之:不能
不过,您可以使用available options从IndexOf
本身获取索引:
// returns a list of the text properties of the options
var listAvailableStrings = dropdown.options.Select(option => option.text).ToList();
// returns the index of the given string
dropdown.value = listAvailableStrings.IndexOf("an Option");
您也可以使用FindIndex
dropdown.value = dropdown.options.FindIndex(option => options.text == "an Otpion");
答案 1 :(得分:0)
此答案是在您要设置下拉项文本的假设下编写的。由于将值设置为string
,因此将值设置为int
是不可能的。有关如何从选项获取索引的信息,请参见derHugo的答案。
dropdown.value
实际上并不代表文字是节目。代替value
中所述是下拉列表中当前选择的索引号。 0是 下拉菜单中的第一个选项,第二个是1,依此类推。
您正在寻找的是Dropdown.itemText
(docs)
要在下拉菜单中设置文本,您必须执行以下操作:dropdown.itemText = "an Option";
答案 2 :(得分:0)
我们无法将字符串值添加到下拉值字段。因此,如果需要显示具有给定字符串的选项,请使用FindIndex选项在下拉列表中找到该选项,然后将该索引分配给value字段。
dropdown.value = dropdown.options.FindIndex(option => options.text == "an Otpion");