次のコードでは、1〜3のテキストで3つのボックスを作成し、4番目のボックスでマウスの上にマウスを置いたボックスのテキストを表示します。だから、私は4つ目のボックスの文字列を変更し、それを再描画するように指示する各ボックスに対して、onMouseEnter FPropertyを設定します。イベントで正しい文字列が表示されない
bool redraw = false;
str s = "0";
Figure getTextbox() {
return computeFigure(bool() {bool temp = redraw; redraw = false; return temp; },
Figure() {
return text(str() {return s; });
});
}
list[Figure] boxes = [];
for (i <- [1..4]) {
boxes += box(text(toString(i)), onMouseEnter(void() {s = toString(i); redraw = true; }));
}
Figure changer = box(getTextbox());
render(vcat(boxes + changer));
しかし、いくつかの奇妙な理由で、すべての3つのボックスではなく、個々の値の「3」(最後のボックスの値)に第四ボックスのテキストを変更するonMouseEnter方法を教えてくれます。
何か手掛かりがありますか?ありがとう!