我正在尝试将Chips添加到ListTile字幕中,以便在通过ListView.builder创建listTile时,根据用户的选择,他们可以在字幕中看到多个芯片。
ListView.builder(
scrollDirection: Axis.vertical,
itemCount: myShoppingBasketList.length,
itemBuilder: (ct, shoppingListViewBuilderItemInteger)
{
return Card(
child: ListTile(key: UniqueKey(),
//dense: true,
leading: ...,
title: ...
subtitle: Wrap(<add chips here)...
onTap: ()
{
// Code to add new chips depending on selection
}
})
所以-我如何动态+ =添加到Wrap小部件。当我说
+=
我希望的是,如果芯片像字符串一样,那么我想要的东西是:
Wrap(SomeChipContainerWidget = SomeChipContainerWidget+ newChipWidget))
您看到我的问题了吗?
因此,假设subTitle是一个Text小部件,那么其中的String文本可能是:
Text(stringVar + = stringVar + newString)
我已经尝试了一切-您无法想象。我看过扩展图块-无法正常工作,不能制作动画,等等。
任何帮助将不胜感激。甚至同情。
答案 0 :(得分:1)
根据您的要求声明一个列表并将芯片添加到列表中。
示例代码:
List<Chip> chips = []; // Global Variable (Add a chip by default)
[...]
ListView.builder(
scrollDirection: Axis.vertical,
itemCount: myShoppingBasketList.length,
itemBuilder: (ct, shoppingListViewBuilderItemInteger)
{
return Card(
child: ListTile(key: UniqueKey(),
//dense: true,
leading: [...],
title: [...]
subtitle: Wrap(children: <Widget>[chips])...
onTap: ()
{
setState((){
chips.add(
Chip() //Your new chip
);
});
}
})