Verknüpfen mit einem Tab oder Panel einer glänzenden App

8

Wie schaffe ich es, von einem bestimmten glänzenden Teil zu Teilen zu gelangen, die sich auf anderen Tabs / Panels befinden?

Aktualisieren

Die Lösung, die ich unten entworfen habe, funktioniert für den expliziten Fall der Verknüpfung mit Tabs / Panels (und das ist es, wonach ich gefragt habe).

Es würde mich jedoch interessieren, auch über generische Wege zu wissen, Teile einer glänzenden App zu verknüpfen.

Beispiel

Ich möchte von Panel A zu Panel B verlinken, aber ich bin mir nicht sicher, was ich als Aktion angeben muss, wenn der Aktionslink in Panel A angeklickt wird.

Der Wert #tab-4527-2 stammt von der Untersuchung der HTML-Ausgabe von ui , aber ich habe gerade gesehen, dass sich diese Werte bei jedem Neustart der App ändern.

%Vor%     
Rappster 16.12.2015, 15:08
quelle

4 Antworten

3

Wir haben gerade eine Routing-Bibliothek veröffentlicht, die die Verknüpfung in Shiny vereinfacht. So sieht es in Kürze aus.

%Vor%

Weitere Informationen finden Sie in diesem Blogpost .

    
KrzysztofWrobel 12.12.2016, 10:24
quelle
6

Die folgende Lösung basiert auf den Eingaben, die ich aus den Kommentaren erhalten habe.

Beachten Sie, dass updateTabsetPanel() zu shiny gehört, während updateTabItems() eine Funktion des Pakets shinydashboard ist. Sie scheinen austauschbar zu funktionieren.

%Vor%     
Rappster 16.12.2015 16:44
quelle
1
___ answer41098666 ___

Wir haben gerade eine Routing-Bibliothek veröffentlicht, die die Verknüpfung in Shiny vereinfacht. So sieht es in Kürze aus.

%Vor%

Weitere Informationen finden Sie in diesem Blogpost .

    
___ antwort43125357 ___

Sie können Ihrem tabsetPanel eine ID geben und updateTabsetPanel mit Ihrem observeEvent

verwenden %Vor%     
___ answer36850024 ___

Das ist wirklich hilfreich und was ich will. Nach dem Code und der Logik von Rappster. Es ist möglich, jede Art von Links zu setzen. Der Link zu %code% kann von %code% verwendet werden. Link zu %code% kann %code% verwenden. Diese können von %code% wie folgt gefunden werden.

%Vor%

Bitte beachten Sie %code% ist die neue ID, die Sie für %code% , %code% oder %code% definieren können.

    
___ answer34317495 ___

Die folgende Lösung basiert auf den Eingaben, die ich aus den Kommentaren erhalten habe.

Beachten Sie, dass %code% zu %code% gehört, während %code% eine Funktion des Pakets %code% ist. Sie scheinen austauschbar zu funktionieren.

%Vor%     
___ tag123r ___ R ist eine freie, quelloffene Programmiersprache und Softwareumgebung für statistische Berechnungen, Bioinformatik, Visualisierung und allgemeine Datenverarbeitung. Stellen Sie minimale, reproduzierbare, repräsentative Beispiele für Ihre Fragen bereit. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basis-Pakete mit Bibliotheksaufrufen an. Bilder für Daten oder Code nicht einbetten, eingerückte Codeblöcke verwenden. Verwenden Sie für statistische Fragen http://stats.stackexchange.com. ___ tag123html ___ HTML (Hyper Text Markup Language) ist die Standard-Auszeichnungssprache, die zum Strukturieren von Webseiten und zum Formatieren von Inhalt verwendet wird. HTML beschreibt die Struktur einer Website semantisch zusammen mit Hinweisen für die Präsentation, wodurch sie eine Markup-Sprache statt einer Programmiersprache wird. Die neueste Revision der HTML-Spezifikation ist HTML5.2. ___ tag123hyperlink ___ Ein Hyperlink ist eine Referenz auf ein Dokument (oder einen Abschnitt), das zum Abrufen verwendet werden kann, wobei ein Navigationssystem verwendet wird, mit dem betonter Inhalt in einem Ursprungsdokument ausgewählt werden kann. ___ tag123shiny ___ Shiny ist ein R-Paket, mit dem Sie interaktive Webanwendungen mit nur R. einfach erstellen können. ___ tag123href ___ Hyperlink (oder Link) ist ein Verweis auf ein Dokument, dem der Leser direkt folgen kann oder dem automatisch gefolgt wird. ___ qstnhdr ___ Verknüpfen mit einem Tab oder Panel einer glänzenden App ___ qstntxt ___

Wie schaffe ich es, von einem bestimmten glänzenden Teil zu Teilen zu gelangen, die sich auf anderen Tabs / Panels befinden?

Aktualisieren

Die Lösung, die ich unten entworfen habe, funktioniert für den expliziten Fall der Verknüpfung mit Tabs / Panels (und das ist es, wonach ich gefragt habe).

Es würde mich jedoch interessieren, auch über generische Wege zu wissen, Teile einer glänzenden App zu verknüpfen.

Beispiel

Ich möchte von Panel A zu Panel B verlinken, aber ich bin mir nicht sicher, was ich als Aktion angeben muss, wenn der Aktionslink in Panel A angeklickt wird.

Der Wert %code% stammt von der Untersuchung der HTML-Ausgabe von %code% , aber ich habe gerade gesehen, dass sich diese Werte bei jedem Neustart der App ändern.

%Vor%     
___
thesadie 30.03.2017 18:10
quelle
0

Das ist wirklich hilfreich und was ich will. Nach dem Code und der Logik von Rappster. Es ist möglich, jede Art von Links zu setzen. Der Link zu TabsetPanel kann von updataTabsetPanel verwendet werden. Link zu Navbar kann updateNavbarPage(session, inputId, selected = NULL) verwenden. Diese können von ?updateTabsetPanel wie folgt gefunden werden.

%Vor%

Bitte beachten Sie selected ist die neue ID, die Sie für tabsetPanel , Navbar oder NavlistPanel definieren können.

    
Xiaorui Zhu 25.04.2016 20:03
quelle

Tags und Links