【发布时间】:2016-06-12 23:03:37
【问题描述】:
我正在尝试使用操作按钮返回上一个条件面板。到目前为止,我已经编写了以下代码来浏览一系列条件面板,但由于无法更新输入值,我无法返回前一个案例,这给了我以下错误:
警告:$
代码如下:
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
})
})
【问题讨论】: