我尝试在列表中添加 TextField 对象,但出现错误“参数类型“PlayerItem”无法分配给参数类型“TextField”。
我创建了一个 TextField 列表 (_playerList
):
List<TextField> _playerList = new List();
我创建了一个类来创建 TextField 对象:
class PlayerItem extends StatelessWidget {
//constructor
PlayerItem();
@override
Widget build(BuildContext context) {
return TextField(
decoration: InputDecoration(
prefixIcon: const Icon(Icons.person),
hintText: "Player",
counterText: "",
),
);
}
}
当我尝试在列表中添加项目时出现错误:
_playerList.add(new PlayerItem()),
最佳答案
这是一个预期的类型错误。
您将列表声明为 List<TextField>
并尝试插入PlayerItem
.
这样做的结果是您应该使用 PlayerItem
输入您的列表。 :
List<PlayerItem> _playerList = <PlayerItem>[];
或者,您也可以使用更通用的类型,即 TextField
的父类(super class)型。和PlayerItem
这可能是 Widget
例如:
List<Widget> _playerList = <Widget>[];
关于flutter - 如何在列表中添加 TextField 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56381153/