Shiny 闪亮选择输入不';对选项卡选择没有反应
这是我的问题,我有几个选项卡,我正试图根据Shiny 闪亮选择输入不';对选项卡选择没有反应,shiny,leaflet,shinyapps,r-leaflet,bs4dash,Shiny,Leaflet,Shinyapps,R Leaflet,Bs4dash,这是我的问题,我有几个选项卡,我正试图根据selectInput()函数中的选项更新地图。 inputSelect()中的select选项被激活,并指向洛杉矶Los Angeles,该选项应激活ObserveEvent()或ObserveEvent()功能,但第一次单击Map选项卡时不会激活。 但是,我意识到当单击第二个选项卡时,setView()函数不会自动更新,即使我在selectInput()中设置了选项。 我需要一个setView(),它在第一次单击选项卡时对所选的选项作出反应。 sel
selectInput()
函数中的选项更新地图。
inputSelect()
中的select
选项被激活,并指向洛杉矶Los Angeles
,该选项应激活ObserveEvent()
或ObserveEvent()
功能,但第一次单击Map
选项卡时不会激活。
但是,我意识到当单击第二个选项卡时,setView()
函数不会自动更新,即使我在selectInput()
中设置了选项。
我需要一个setView()
,它在第一次单击选项卡时对所选的选项作出反应。
selectize
选项没有任何区别。
下面是一个我想复制的示例
library(shiny)
library(leaflet)
ui = bs4DashPage(
h1('Exemple'),
br(),
bs4TabSetPanel(id = 'tabs',
side = 'left',
bs4TabPanel(tabName = 'First tab',
active = TRUE,
'Here is some text'),
bs4TabPanel(tabName = 'Second tab',
active = FALSE,
fluidRow(bs4Card(title = 'Inputs',
solidHeader = TRUE,
width = 2,
closable = FALSE,
selectInput(inputId = 'city',
label = 'Select a city',
choices = c('New York','Los Angeles','Seattle'),
selected = 'Los Angeles',
selectize = TRUE)),
bs4Card(title = "Map",
width = 10,
leafletOutput('map'))
)))
)
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet() %>%
addTiles() %>%
setView(lng = -95.7129,lat = 37.0902, zoom = 3)
})
observeEvent(input$city, {
if(input$city == 'New York'){
lon <- -74.0060
lat <- 40.7128
} else if(input$city == 'Los Angeles'){
lon <- -118.2437
lat <- 34.0522
} else{
lon <- -122.3321
lat <- 47.6062
}
leafletProxy('map') %>%
setView(lng = lon, lat = lat, zoom = 5)
})
}
shinyApp(ui, server)
库(闪亮)
图书馆(单张)
ui=bs4DashPage(
h1(“示例”),
br(),
bs4TabSetPanel(id=‘选项卡’,
边='左',
bs4TabPanel(tabName='First tab',
活动=真,
“这里有一些文字”),
bs4TabPanel(选项卡名称='第二个选项卡',
活动=错误,
fluidRow(bs4Card)(标题=‘输入’,
solidHeader=TRUE,
宽度=2,
closable=FALSE,
选择输入(inputId='city',
标签='选择一个城市',
选项=c(‘纽约’、‘洛杉矶’、‘西雅图’),
选定='洛杉矶',
选择size=TRUE),
bs4Card(title=“地图”,
宽度=10,
传单输出('map'))
)))
)
服务器%
设置视图(lng=-95.7129,纬度=37.0902,缩放=3)
})
observeEvent(输入$city{
如果(输入$city==“纽约”){
lon关于observeEvent(列表(输入$tabs,输入$city),{……
?很遗憾,它不起作用,但谢谢你,我将在另一个项目中使用这一行代码;-)