我正在尝试使用动态变量访问 Dart 类中的属性。在 JavaScript 中,我可以使用括号表示法并执行以下操作:
var icons = {
mars: "male",
venus: "female"
};
getIcon = genderIcon => {
return icons[genderIcon];
};
console.log(getIcon("mars")); // Prints "male"
Run Code Online (Sandbox Code Playgroud)
我可以在 Dart 中做类似的事情吗?
我在 Dart 中尝试了两种方法,但遇到了两个我不太理解的不同错误:
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
class GenderSelection extends StatelessWidget {
final IconData genderIcon;
GenderSelection({@required this.genderIcon});
@override
Widget build(BuildContext context) {
return Container(
child: Icon(
// Using dot notation...
FontAwesomeIcons.genderIcon // error: The getter 'genderIcon' isn't defined for the class 'FontAwesomeIcons'. (undefined_getter at [bmi_calculator] lib/input_page.dart:71)
// ...or using bracket notation …Run Code Online (Sandbox Code Playgroud)