swiftui中onChange函数的使用,监听变量的变化

在 SwiftUI 中,onChange 修饰符用于在指定值发生变化时执行某些操作。它允许你监听一个状态或绑定值的变化,并在变化发生时运行一些代码。这个功能非常适合需要对状态变化做出响应的场景。

使用示例:

struct AppStorageTest: View {
    @State private var textVal: String = ""

    var body: some View {
        VStack {
            TextField("Enter some text", text: $textVal)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()
        }
        .padding()
        .onChange(of: textVal, initial: false) { oldVal, newVal  in
            print("text change:\(oldVal),\(newVal)")
        }
    }
}

定义一个文本输入框,并绑定一个变量textVal,再通过onChange来监听内容变化。onChange参数说明:

of:要监听的变量,

initial:是否在页面初始化的时候立即执行,

oldVal:变化前的旧值,

newVal:变化后的新值

使用效果:

注意事项

如果监听的值是一个复杂的对象(比如自定义类型的实例),则需要该对象遵循 Equatable 协议,onChange 才能正确检测到变化。

相关推荐

  1. Vue使用watch监听Vuex数据变化

    2024-07-21 17:32:04       29 阅读
  2. 函数式编程自由变量使用

    2024-07-21 17:32:04       25 阅读
  3. jsonchange使用场景及如何使用

    2024-07-21 17:32:04       67 阅读
  4. React监听URL变化

    2024-07-21 17:32:04       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 17:32:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 17:32:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 17:32:04       45 阅读
  4. Python语言-面向对象

    2024-07-21 17:32:04       55 阅读

热门阅读

  1. resultMap

    2024-07-21 17:32:04       16 阅读
  2. Python编程防止计算机休眠,保持唤醒状态

    2024-07-21 17:32:04       14 阅读
  3. 力扣题解(盈利计划)

    2024-07-21 17:32:04       18 阅读
  4. Mysql在linux安装报错

    2024-07-21 17:32:04       17 阅读
  5. 大型网站核心架构要素

    2024-07-21 17:32:04       16 阅读
  6. 看过来!看过来!python九大数据类型大整合!

    2024-07-21 17:32:04       15 阅读
  7. centos软件安装

    2024-07-21 17:32:04       20 阅读
  8. 内存屏障:程序员的“隐形护盾”

    2024-07-21 17:32:04       17 阅读
  9. 比较 WordPress 的 Baklib 和 BetterDocs

    2024-07-21 17:32:04       19 阅读