监听Toggle状态切换


2年前 1102次点击 来自 移动端

标签: SwiftUI

SwiftUI并没有提供监听Toggle状态切换的方法,使用以下方法来扩展Binding,Picker, Textfield也可以使用:

extension Binding {
    func didSet(execute: @escaping (Value) -> Void) -> Binding {
        return Binding(
            get: {
                return self.wrappedValue
            },
            set: {
                self.wrappedValue = $0
                execute($0)
            }
        )
    }
}

使用:

@State var isOn: Bool = false
Toggle("Toggle Title", isOn: $isOn.didSet { (state) in
   print(state)
})

Made with in Shangrao,China By Devler.

Copyright © Devler 2012 - 2022

赣ICP备19009883号-1