Как возвратиться от Страницы PageStack до родительской вкладки в Инструментарии UI

Таким образом в предыдущем вопросе я пытался использовать Инструментарий UI Ubuntu для вложения PageStack в компоненте Вкладок. Это, казалось, работало, но это имело свои причуды, таким образом, я теперь пробую другую опцию, которая в теории должна иметь тот же эффект согласно документации.

Однако с кодом ниже, я заметил следующее: после открытия page3, если я затем надеваю панель инструментов и касание на Кнопке "Назад", это всегда возвращает меня к начальной Вкладке на Вкладках вместо фактической вкладки, из которой была загружена страница.

Таким образом, page3 загружается из tab2, но если я открываю страницу, вытяните панель инструментов с нижней части и защищайтесь, я возвращаюсь к tab1 вместо этого.

Как я могу сделать его так, чтобы ответвление Назад возвратило меня tab2?

import QtQuick 2.0
import Ubuntu.Components 1.1

MainView {
    id: mainView
    width: units.gu(38)
    height: units.gu(50)

    PageStack {
        id: pageStack
        Component.onCompleted: push(tabs)

        Tabs {
            id: tabs
            Tab {
                id: tab1
                title: "Tab 1"
                page: Page {
                    Label {
                        anchors.centerIn: parent
                        text: "Use header to navigate between tabs"
                    }
                }
            }
            Tab {
                id: tab2
                title: "Tab 2"
                page: Page {
                    Button {
                        anchors.centerIn: parent
                        onClicked: pageStack.push(page3)
                        text: "Press"
                    }
                }
            }
        }
        Page {
            id: page3
            visible: false
            title: "Page on stack"
            Label {
                anchors.centerIn: parent
                text: "Press back to return to the tabs"
            }
        }
    }
}
3
задан 13 April 2017 в 15:23

2 ответа

Это происходит из-за ошибки, недавно введенной в Инструментарий UI: https://bugs.launchpad.net/ubuntu-ui-toolkit / + ошибка/1316736

, Как только это фиксируется, это еще раз возвратит Вас ранее выбранной вкладке при возвращении к странице Tabs PageStack.

1
ответ дан 1 December 2019 в 17:42

Способ сделать это должно определить пользовательскую кнопку "Назад" на панели инструментов, присвоенной page3 tools свойство. С этим я могу копировать то, что стандартная Кнопка "Назад" делает с точки зрения возвращения к корню PageStack и затем выбирает который вкладка вернуться к.

ToolbarItems {

    back: ToolbarButton {
        action: Action {
            text: i18n.tr("Back")
            iconName: "back"
            onTriggered: {
                pageStack.pop();
                // It'd be neater to use `selectedTab`, but it's read-only
                tabs.selectedTabIndex = 1;
            }
        }
    }

    // [...]
}
0
ответ дан 1 December 2019 в 17:42

Другие вопросы по тегам:

Похожие вопросы: