簡體   English   中英

Swift 失去焦點時調用 UI TextField onCommit (macOS)

[英]Swift UI TextField onCommit called when lost focus (macOS)

我在內容視圖中有以下文本字段:

func doCommit(){
   print("\(self.status.textValue)")
}
var body : some View {
TextField("Your input:", text: self.$status.textValue, onCommit:{
                            self.doCommit()
                        }).lineLimit(1).focusable(true, onFocusChange: { focused in
                            print ("\(focused) changed")
                        })
 ... 
 }

當文本字段獲得焦點並鍵入 return 時,doCommit 被調用,這是我想要的,但是當我單擊其他內容,然后單擊文本字段並單擊其他地方時,doCommit 再次被調用,並且可聚焦onFocusChange 不是調用。 我不希望在失去焦點時調用 func,但僅在返回/輸入時調用

只有當您使用 Tab 鍵遍歷不同的 UI 元素時才會調用onFocusChange ,而不是當您單擊進入和離開TextField

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM