🤼♀️/Flutter
[Flutter] describeEnum
eungding
2021. 9. 15. 23:43
728x90
반응형
package:flutter/foundation.dart 안에 있는 describeEnum 를 이용하여
enum value의 short description 을 구할 수 있습니다.
즉 아래 예제에서 처럼 'Day.monday' 가 아니라 'monday' 를 구할 수 있다는 뜻!
[ 실 사용 예제 ]
enum Language {
KOR,
ENG
}
enum value를 뷰(CupertinoSegmentedControl)에 그대로 뿌리고 싶을 때 사용해주었습니다!
(Language.KOR 이런 식으로 뷰에 보여지면 안되니까..)
import 'package:flutter/foundation.dart';
int _segmentedIndex = Language.KOR.index;
Map<int, Widget> _segments() {
Map<int, Widget> map = {};
Language.values.forEach((lan){
final index = lan.index;
✅ final value = describeEnum(lan);
map[index] = Text(value);
});
return map;
}
CupertinoSegmentedControl(
children: _segments(),
groupValue: _segmentedIndex,
onValueChanged: (value) {
setState(() {
_segmentedIndex = value;
});
},
)
반응형