Skip to content

[ComboBox]OnCurrentIndexChanged:连续触发三次 #821

@speauty

Description

@speauty

最近遇到个小问题,在使用ComboBox组件,由于需要获取当前选中项,然后就注册了OnCurrentIndexChanged函数。不过实际情况和预期有点小差别,那个函数被连续触发了三次,是因为某些属性未正确设置的原因么?相关源码如下:

package main

import (
	"fmt"
	"github.com/lxn/walk"
	. "github.com/lxn/walk/declarative"
	"time"
)

func main() {
	var win *walk.MainWindow
	MainWindow{
		AssignTo: &win,
		Title:    "ComboBox",
		MinSize:  Size{600, 400},
		Layout:   VBox{},
		Children: []Widget{
			ComboBox{
				Model: []string{"Combo", "Box", "CB"},
				OnCurrentIndexChanged: func() {
					fmt.Println(time.Now().String())
					// 2023-03-26 15:10:09.3184992 +0800 CST m=+2.503204401
					// 2023-03-26 15:10:09.3393394 +0800 CST m=+2.524044601
					// 2023-03-26 15:10:09.340897 +0800 CST m=+2.525602201
				},
			},
		},
	}.Run()
}

其中walk库的相关信息 github.com/lxn/walk v0.0.0-20210112085537-c389da54e794

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions