C# 单击其他对象后,下拉列表(模板)不可见
范例 我正在使用输入字段过滤或搜索下拉列表项,默认情况下,单击后下拉列表项将不可见。我需要它可见直到选项被选中,衷心感谢:)C# 单击其他对象后,下拉列表(模板)不可见,c#,unity3d,dropdown,visible,C#,Unity3d,Dropdown,Visible,范例 我正在使用输入字段过滤或搜索下拉列表项,默认情况下,单击后下拉列表项将不可见。我需要它可见直到选项被选中,衷心感谢:)使用System.Collections; 使用System.Collections.Generic; 使用UnityEngine; 使用UnityEngine.UI; 公共类下拉过滤器:MonoBehavior { [序列化字段] 专用输入字段输入字段; [序列化字段] 私人下拉列表; 私有列表下拉选项; 私有void Start() { dropdownpoptions
使用System.Collections;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
公共类下拉过滤器:MonoBehavior
{
[序列化字段]
专用输入字段输入字段;
[序列化字段]
私人下拉列表;
私有列表下拉选项;
私有void Start()
{
dropdownpoptions=dropdown.options;
}
公共无效筛选器下拉列表(字符串输入)
{
dropdown.options=dropdownpoptions.FindAll(option=>option.text.IndexOf(input)>=0);
}
}
DynamicString
)然后不要使用下拉菜单,而是实现一个带有按钮的简单面板,您可以实例化和删除按钮,或者动态激活和停用按钮?请参阅并感谢@derHugo,但它有点复杂,现在无法修改,我无法实现我所需的。当单击其他任何内容(例如输入字段)时,它可能仍会自动关闭下拉列表。)另外,我认为使用
dropdownpoptions.Select(option=>option.text.Contains(input)).ToList()更有效代码>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DropdownFilter : MonoBehaviour
{
[SerializeField]
private InputField inputField;
[SerializeField]
private Dropdown dropdown;
private List<Dropdown.OptionData> dropdownOptions;
private void Start()
{
dropdownOptions = dropdown.options;
}
public void FilterDropdown(string input)
{
dropdown.options = dropdownOptions.FindAll(option => option.text.IndexOf(input) >= 0);
}
}