0
我正在嘗試使用操作按鈕返回以前的條件面板。直到現在我已經寫了下面的代碼來瀏覽一系列有條件的面板,但我不能回到以前的情況,因爲我無法更新輸入值,它給了我以下錯誤:R Shiny:使用返回操作按鈕轉到上一個conditionalPanel
Warning:Error在$ < -.reactivevalues:試圖值分配給一個只讀reactivevalues對象+
代碼如下:
ui.R
shinyUI(
fluidPage(
conditionalPanel(
condition <- "typeof input.link_click === 'undefined'",
leafletOutput("Map", width = 1000, height = 500)
),
conditionalPanel(
condition <- "typeof input.link_click_Site === 'undefined' && typeof input.link_click !== 'undefined'",
leafletOutput("CountryMap", width = 1000, height = 500)
),
conditionalPanel(
condition <- "typeof input.link_click_Site !== 'undefined'",
h3("Plots related to site chosen"),
textOutput(outputId = "Check"),
actionButton("Back", "Back")
)
)
)
server.R
library(shiny)
library(leaflet)
library(maps)
shinyServer(function(input, output, session) {
Country = map("world", fill = TRUE, plot = FALSE, regions="USA")
output$Map <- renderLeaflet({
leaflet(Country) %>% addTiles() %>% setView(0, 0, zoom = 2)%>%
#leaflet(target) %>% addTiles() %>%
addPolygons(fillOpacity = 0.6,
fillColor = 'blue',
smoothFactor = 0.5, stroke = TRUE, weight = 1, popup = paste("<b>", "USA", "</b><br>",
actionLink(inputId = "View",
label = "View Details",
onclick = 'Shiny.onInputChange(\"link_click\", Math.random())')))
})
output$CountryMap <- renderLeaflet({
leaflet(Country) %>% addTiles() %>%
fitBounds(Country$range[1], Country$range[3], Country$range[2], Country$range[4])%>%
addMarkers(lng = -71.03 , lat = 42.37, popup = paste("<b>", "Boston", "</b><br>",
actionLink(inputId = "View",
label = "View Details",
onclick = 'Shiny.onInputChange(\"link_click_Site\", Math.random())')))
})
observeEvent(input$link_click_Site, {
output$Check <- renderText("Success")
})
observeEvent(input$Back, {
input$link_click_Site <- 0
})
})