簡體   English   中英

如何將焦點設置到 ListView 委托中的 TextField?

[英]How to set focus to TextField inside ListView delegate?

我的 ListView 里面有一些文本輸入字段:

Window {
    visible: true

    ListModel {
        id: textModel
        ListElement {
            text: "Bill Smith"
        }
        ListElement {
            text: "John Brown"
        }
        ListElement {
            text: "Sam Wise"
        }
    }

    ListView {
        width: 180; height: 200
        focus: true

        model: textModel
        delegate: RowLayout{
            id: layout
            Label {
                text: model.text
            }
            TextField {
                text: model.text
            }
        }
    }
}

我想將輸入焦點設置為列表中的第一個 TextField。 我怎樣才能做到這一點? 如果我在 ListView 中添加focus: true則無濟於事。

您必須使用ListView.isCurrentItem屬性激活 TextField 的焦點:

ListView {
    id: view
    width: 180; height: 200
    focus: true
    model: textModel
    delegate: RowLayout{
        id: layout
        Label {
            text: model.text
        }
        TextField {
            focus: layout.ListView.isCurrentItem
            text: model.text
        }
    }
    // Component.onCompleted: view.currentIndex = 0
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM