我如何知道在列表中单击了特定按钮

我有从核心数据填充的此列表:

    List {
      ForEach(items.filter {
        self.searchText.isEmpty ? true : $0.term!.contains(self.searchText)
      }, id: \.self) { item in
        
        Button(action: {
          selectedItem = items.firstIndex { $0 == item }!
          changeDescription()
          print(selectedItem)
          
        }) {
          
          Text(item.term!)
            .font(fontItems)
            .disabled(true)
            .foregroundColor(items[selectedItem] == item ? .black : .white)
        }

最后一行

.foregroundColor(items[selectedItem] == item ? .black : .white)

我试图检测是否单击了该按钮。在这种情况下,我想将字体颜色更改为黑色。

当我尝试滚动显示以下消息时,该应用程序在该行崩溃:

__boundsFail: index 18446744073709551615 beyond bounds [0 .. 605]'

我是SwiftUI的新手。

我怎么做?

他的脾气

而不是存储索引(在完整数组和过滤后的数组中有所不同),而不是item直接存储(只需使其类型为Equatable)即可,即

Button(action: {
  selectedItem = item       // << store item in selection
  changeDescription()
  print(selectedItem)
  
}) {
  
  Text(item.term!)
    .font(fontItems)
    .disabled(true)
    .foregroundColor(selectedItem == item ? .black : .white) // compare item
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击该类中包含的按钮时,如何影响特定的类

来自分类Dev

如何知道在asp.net gridView中单击按钮的位置

来自分类Dev

我怎么知道如何遵守Swift中的特定协议?

来自分类Dev

我如何单击网站按钮?

来自分类Dev

如何知道在Qt中单击了哪个按钮?

来自分类Dev

如何知道我使用按钮类单击的表单

来自分类Dev

我如何知道ArrayList在mongoDB中是否包含特定项目?

来自分类Dev

如何在Reactjs中的列表中调用按钮单击

来自分类Dev

当我从JavaScript中的数组单击时如何获取该按钮的特定数组

来自分类Dev

如何知道是否在tkinter中单击了按钮?

来自分类Dev

如何知道在JavaFX中单击了哪个按钮

来自分类Dev

我怎么知道在按钮类中单击了哪个按钮?

来自分类Dev

我们如何知道用户单击日历中的“保存”按钮以创建事件或“取消”按钮?

来自分类Dev

数组列表中的Java jbutton,我怎么知道单击了哪个

来自分类Dev

如何知道在vb.net中单击了哪个命令按钮?

来自分类Dev

如何知道哪个活动单击了按钮?

来自分类Dev

MVVM Light-UserControls的列表框,如何知道在哪个ItemIndex上单击了按钮

来自分类Dev

如何知道用户单击哪个按钮?

来自分类Dev

当单击按钮时,我想知道如何在布局中放置一些图像

来自分类Dev

如何使我的方法等待Winforms中的按钮单击事件

来自分类Dev

如何知道在Qt中单击了哪个按钮?

来自分类Dev

如何知道我使用按钮类单击的表单

来自分类Dev

我如何知道ArrayList在mongoDB中是否包含特定项目?

来自分类Dev

如何知道是否在我的JQuery函数中单击了Bootstrap Modal中的特定按钮?

来自分类Dev

如何知道是否在javascript中单击了按钮?

来自分类Dev

如何根据我单击的类别按钮在列表框中显示产品列表?

来自分类Dev

如果通用排序列表中已存在值,我将如何停止按钮单击事件?

来自分类Dev

我如何做到这一点,当我从 foreach 列表中单击一个按钮时,它只会激活该特定列表中的按钮?

来自分类Dev

单击按钮从列表中删除

Related 相关文章

  1. 1

    单击该类中包含的按钮时,如何影响特定的类

  2. 2

    如何知道在asp.net gridView中单击按钮的位置

  3. 3

    我怎么知道如何遵守Swift中的特定协议?

  4. 4

    我如何单击网站按钮?

  5. 5

    如何知道在Qt中单击了哪个按钮?

  6. 6

    如何知道我使用按钮类单击的表单

  7. 7

    我如何知道ArrayList在mongoDB中是否包含特定项目?

  8. 8

    如何在Reactjs中的列表中调用按钮单击

  9. 9

    当我从JavaScript中的数组单击时如何获取该按钮的特定数组

  10. 10

    如何知道是否在tkinter中单击了按钮?

  11. 11

    如何知道在JavaFX中单击了哪个按钮

  12. 12

    我怎么知道在按钮类中单击了哪个按钮?

  13. 13

    我们如何知道用户单击日历中的“保存”按钮以创建事件或“取消”按钮?

  14. 14

    数组列表中的Java jbutton,我怎么知道单击了哪个

  15. 15

    如何知道在vb.net中单击了哪个命令按钮?

  16. 16

    如何知道哪个活动单击了按钮?

  17. 17

    MVVM Light-UserControls的列表框,如何知道在哪个ItemIndex上单击了按钮

  18. 18

    如何知道用户单击哪个按钮?

  19. 19

    当单击按钮时,我想知道如何在布局中放置一些图像

  20. 20

    如何使我的方法等待Winforms中的按钮单击事件

  21. 21

    如何知道在Qt中单击了哪个按钮?

  22. 22

    如何知道我使用按钮类单击的表单

  23. 23

    我如何知道ArrayList在mongoDB中是否包含特定项目?

  24. 24

    如何知道是否在我的JQuery函数中单击了Bootstrap Modal中的特定按钮?

  25. 25

    如何知道是否在javascript中单击了按钮?

  26. 26

    如何根据我单击的类别按钮在列表框中显示产品列表?

  27. 27

    如果通用排序列表中已存在值,我将如何停止按钮单击事件?

  28. 28

    我如何做到这一点,当我从 foreach 列表中单击一个按钮时,它只会激活该特定列表中的按钮?

  29. 29

    单击按钮从列表中删除

热门标签

归档