में नेविगेट करते हैं तो साइडबार को स्वचालित रूप से छुपाएं मेरे पास एक चमकदार ऐप है - यहां सरलीकृत उदाहरण है - और मैं टैब आइटम में नेविगेट करते समय साइडबार गतिशील रूप से छिपाना चाहता हूं। वास्तव में उपयोगकर्ता मुख्य रूप से अपने मोबाइल के साथ ऐप से कनेक्ट होंगे।आर चमकदार - जब आप टैब आइटम
Hide sidebar in default in shinydashboard पोस्ट की सहायता से, मुझे पता है कि ऐप पर आने पर साइडबार डिफ़ॉल्ट रूप से कैसे छिपाना है, लेकिन साइडबार हमेशा प्रदर्शित होने के बाद। चयनित टैब में परिवर्तन को सुनने के लिए, का उपयोग कर, और एक observeEvent
:
### Load librairies
library(shiny) ; library(shinydashboard) ; library(shinyjs)
library(dplyr)
### Load data
Weather <- c("cold", "rain", "snow","heat","sun")
Answer <- c("Take a coat","Take an umbrella","Take gloves","Take a swimsuit","Take solair cream")
Mydata <- data.frame(Weather, Answer, stringsAsFactors = FALSE)
remove(Weather, Answer)
### Shiny
Entete <- dashboardHeader(title = "My app")
BarreLaterale <- dashboardSidebar(
sidebarMenu(menuItem(text = "Home", tabName = "MyHome", icon = icon("home"))),
sidebarMenu(menuItem(text = "My search", tabName = "Search", icon = icon("search")))
)
Corps <- dashboardBody(
useShinyjs(),
tabItems(
tabItem(tabName = "MyHome",
fluidPage("Hello, welcome to the home page")
),
tabItem(tabName = "Search",
fluidRow(
box(title = "Weather choice", width = 6, solidHeader = TRUE, status = "danger",
selectInput(inputId = "WeatherChoice", label = NULL, choices = unique(Mydata$Weather))),
box(title = "Answer", width = 6, solidHeader = TRUE, status = "danger",
textOutput("ReturnAnswer"))
)
)
)
)
Interface <- dashboardPage(Entete, BarreLaterale, Corps, skin = "red")
### Server R
Serveur <- function(input, output, session) {
output$ReturnAnswer <- renderText({
as.character(Mydata %>% filter(Weather == input$WeatherChoice) %>% select(Answer))
})
addClass(selector = "body", class = "sidebar-collapse")
}
### Application
shinyApp(Interface, Serveur)
अतिरिक्त टिप्पणी: मेरे ऐप को प्रकाशित करने के बाद, व्यवहार तब अच्छा होता है जब मैं अपने पीसी से ब्राउज़र का उपयोग करता हूं लेकिन जब मैं अपने मोबाइल से ब्राउज़र का उपयोग नहीं करता। कोई उपाय ? https://salsapedia.shinyapps.io/TestApp/ – Kumpelka
मैंने मोबाइल ब्राउज़र पर पृष्ठ का निरीक्षण किया, और ऐसा लगता है कि उपयोग की जाने वाली कक्षाएं ब्राउज़र की चौड़ाई पर निर्भर करती हैं। इसलिए मैंने छोटी-चौड़ाई वाले ब्राउज़र से निपटने के लिए 'removeClass (selector = "body", class = "sidebar-open")' पंक्ति को जोड़ा, मुझे उम्मीद है कि यह आपकी समस्या हल करेगी। – Florian