关于extension ThemeModeExtension
来源:12-4 基于ThemeData实现自定义主题

demonCry
2022-09-19
extension ThemeModeExtension on ThemeMode {
String get value => <String>['System', 'Light', 'Dark'][index];
}
请问这里的 [index]
是什么东东, 为什么不会报错? 哪里传进去的? 是什么特殊语法吗
写回答
1回答
-
CrazyCodeBoy
2022-09-20
extension ThemeModeExtension on ThemeMode { // 获取ThemeMode枚举对应的字符串,这里定义了一个数组['System', 'Light', 'Dark']对应ThemeMode的三个枚举值system,light,dark // index是Enum的属性代表当前枚举在所有枚举也就是values中的索引,然后通过themeMode.value就可以获取枚举对应的具体字符串了 // 在调用themeMode.value的时候系统会在自动传入该枚举所对应的index,然后从['System', 'Light', 'Dark']数组中获取对应的值 String get value => <String>['System', 'Light', 'Dark'][index]; }
132024-05-14
相似问题