Files
aibis-dream/Assets/Scripts/UI/Form/DropdownItem.cs
T
2025-04-24 16:55:00 +08:00

32 lines
875 B
C#

using TMPro;
namespace AibisDream
{
public class DropdownItem : AbsFormItem
{
public override FieldType FieldType => FieldType.Dropdown;
private TMP_Dropdown _dropdown;
protected override void InitField()
{
// 获取索引
_dropdown = GetComponentInChildren<TMP_Dropdown>(true);
// 注册事件
_dropdown.onValueChanged.AddListener(OnSelectChanged);
}
public override void SetValue(string value)
{
var target = _dropdown.options.FindIndex(item => item.text == value);
_dropdown.value = target;
}
private void OnSelectChanged(int value)
{
// 序号转字符串
var strValue = _dropdown.options[value].text;
OnValueChanged?.Invoke(prop, strValue);
}
}
}