Unity 可搜索下拉列表

Unity Searchable Dropdown

大家好,我正在尝试使用 TMPro InputField 制作可搜索的下拉菜单。它目前得到第一个字母,但我不知道如何添加其他字母。例如,如果我在输入字段中写“a”,它会给我以字母“a”开头的选项,但如果我写“an”,则没有任何变化。

 private void Start()
    {
        UpdateEmoteDropdown();

    }

    public void UpdateEmoteDropdown()
    {

        CurrentText = InputField.text;

        emoteDropdown.options.Clear();

        emoteDropdown.value = 0;

        foreach (var animation in Enum.GetValues(typeof(Animations)))
        {
            string name = Enum.GetName(typeof(Animations), animation);

            if (CurrentText.Length == 0)
            {
                emoteDropdown.options.Add(new Dropdown.OptionData()
                {
                    text = name
                });

            }
            else {
                if (CurrentText[0] == name[0])
                {
                    emoteDropdown.options.Add(new Dropdown.OptionData()
                    {
                        text = name
                    });
                }
            }

        }

        emoteDropdown.RefreshShownValue();

        emoteDropdown.value = 0;
}

好吧,你只检查

中的第一个字母
if(CurrentText[0] == name[0])

不如使用例如string.StartsWith

if(name.StartsWith(CurrentText))

或者,如果您甚至想在任何时候包括包含给定字符串的结果,而不仅仅是开头,而是使用 string.Contains

if(name.Contains(CurrentText))