我写了这个 Fantom 类
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 小部件上的任何内容。为什么?
这会在使用多个 Combo 小部件的真实类中引起问题,其中一些是相关的,并导致产生意外结果的级联事件。
请问有什么办法可以预防吗?