关于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];
}


1
3
John_126
你敢不敢在视频里面讲解一下原理?这样让人听着真特么头疼
2024-05-14
共3条回复

Flutter高级进阶实战-仿哔哩哔哩-掌握Flutter高阶技能

一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案

1722 学习 · 870 问题

查看课程