2
修改事件我寫了這個魅影類魅影FWT組合部件似乎開槍建設
using gfx
using fwt
class Test {
Window window := Window {
size = Size(400, 320)
SashPane {
Combo {
items = Month.vals
onModify.add(|e| { echo("items.size is ${e->widget->items->size}") })
},
},
}
Void main() {
window.open
}
}
當我運行它
,它會產生這樣的輸出:
items.size is 12
items.size is 12
這意味着修改事件正在被觸發兩次。它發生在屏幕彈出窗口的同時,我沒有任何修改Combo窗口小部件的任何機會。爲什麼?
這會導致使用多個組合窗口小部件的實際類中的問題,其中一些組件相關並導致產生意外結果的級聯事件。
請問有什麼辦法可以預防嗎?