3

从列表视图中选择日期时,我正在打开一个日历弹出窗口helpItem1,一切正常!我要做的是在每次选择不同的列表项时将calendar.selectedDate, 设置为项目的日期。listView

userModel我用来创建的数组 ( ) 的摘录listView是:

{"date":1551960000000, "name": user1},{"date":1552046400000, "name": user1},{"date":1552219200000, "name": user1}

我的代码的最小部分是:

ListPage {
    id: userPage

    model: userModel

    delegate: SimpleRow {
                  id: userRow
                  width: userPage.width
                  text: modelData.name
                  detailText: new Date(modelData.date).getTime() 
                  onSelected: {
                      helpItem1.visible = true
                      calendar.selectedDate = new Date(modelData.date).getTime()
                 }            
             }

    Item { 
        id: helpItem1
        visible: false

        Rectangle {
            id: calendarPage
            anchors.centerIn: parent
            width: parent.width
            height: parent.height           

            AppButton {
                id: backButton
                onClicked:  {
                    helpItem1.visible = false
                }
                //Button used to close the `helpItem1` pop-up 
            }
            Flow {
                id: row
                Calendar {
                    id: calendar
                    focus: true
                    selectedDate: new Date() 
                }
                // Rest of calendar Code
            }
        }
    }
}

我的问题是:

如何获取每个SimpleRow项目的选定日期,并calendar.selectedDate在弹出窗口打开时设置该日期?

我尝试了几种变体

SimpleRow.onSelected: {calendar.selectedDate = new Date(modelData.date).getTime()}

但没有任何帮助。

4

1 回答 1

3

在 9 分钟内进行调整,我想通了:

通过.getTime()从我的onSelected {...}部分中删除它一切正常!

onSelected: {
    helpItem1.visible = true
    calendar.selectedDate = new Date(modelData.date)
}
于 2019-03-13T00:01:04.557 回答