如何在列表中添加TextField对象?

时间:2019-05-30 15:26:02

标签: flutter dart

我尝试在列表中添加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()),

1 个答案:

答案 0 :(得分:2)

这是预期的类型错误。

您将列表声明为List<TextField>,然后尝试插入PlayerItem
这样的结果是您应该使用PlayerItem输入列表:

List<PlayerItem> _playerList = <PlayerItem>[];

或者,您也可以使用更通用的类型,即TextFieldPlayerItem的超类型,例如可以是Widget

List<Widget> _playerList = <Widget>[];