using TMPro; namespace AibisDream { public class DropdownItem : AbsFormItem { public override FieldType FieldType => FieldType.Dropdown; private TMP_Dropdown _dropdown; protected override void InitField() { // 获取索引 _dropdown = GetComponentInChildren(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); } } }