在包含特定名称的列表中显示项目 - flutter

Display items in a list containing a specific name - flutter

在此列表中,我想显示包含此特定名称的所有项目。

我的列表项:['US'、'SG'、'US']

print(list.contains("US"));

使用 .contains() return 是真还是假,但 return 不是包含它的字符串列表。我只想从列表中提取具有 'US' 的项目。在这种情况下,有 2 个。请帮忙!

If you are using "list.contains". It will only show the list exist or not , If you want to print the value you have to use follow :

var fruits = [‘banana’, ‘pineapple’, ‘watermelon’];fruits.forEach((fruit) => print(fruit)); // => banana pineapple watermelon

如果你只想打印香蕉那么你可以使用这个

var fruits = [‘banana’, ‘pineapple’, ‘watermelon’];fruits.(fruit) => print(fruit[0]); // => banana

是这样的吗?

  var myList = ['US', 'SG', 'US'];
  myList.forEach((w){
    if(w == "US")
      print(w);
  });

显示:

class SO extends StatelessWidget {
  var myList = ['US', 'SG', 'US'];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        mainAxisSize: MainAxisSize.min,
        children: myList.where((w) => w == "US").map((w) => Text(w)).toList(),
      ),
    );
  }
}

或者对于单行显示使用,Text 而不是上面提到的 Column 小部件

Text(myList.where((w) => w.contains("US")).join(" "))

你可以试试下面的方法-

List<String> myList = ['US', 'SG', 'US'];
print(myList.where((item) => item.contains("US")));

您也可以通过以下方式直接在 Text 小部件中显示它 -

Text(
   myList.where((item) => item.contains("US")).join(" "),
   //The join function joins the elements of the Iterable into a single string with the separator provided as an argument.
),

希望对您有所帮助!

更新:

要将每个单词单独显示为列表,您可以按以下方式在 Column 中显示它们 -

Column(
  children: myList.map((value) {
    if(value.contains("US")){
      return Text(value,);
    } else {
      return Container();
      //Return an empty Container for non-matching case
    }
  }).toList(),
)

如果您希望 ListView 可滚动,则可以在 ListView 中使用同样的东西而不是 Column