[Dropdown(Template)在单击其他对象后不可见

问题描述 投票:0回答:1

示例here

我正在使用Inputfield来过滤或搜索下拉列表项,默认情况下,单击后下拉列表默认为不可见。我需要它是visible,直到选择了选项,预先发自内心的感谢:)

c# unity3d dropdown visible
1个回答
0
投票

enter image description here1.创建一个名为DropdownFilter.cs的新脚本。以下脚本

  1. 创建输入字段和下拉UI元素

  2. 将脚本附加到所需的gameObject(场景中为空,或下拉菜单,或输入字段,...),只需确保场景开始时启用gameObject。

  3. 当选择了保存脚本的gameObject时,将输入字段拖放到检查器中的相应字段中

  4. 在输入字段的OnValueChanged中添加新事件。拖放游戏对象创建的步骤#5(保留DropdownFilter脚本),然后选择FilterDropdown函数(DynamicString

    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);
    }
    
  5. }

© www.soinside.com 2019 - 2024. All rights reserved.