【问题标题】:Update multiple selectInput widget based on Leaflet marker click基于传单标记单击更新多个 selectInput 小部件
【发布时间】:2020-11-09 08:25:22
【问题描述】:

我有一个闪亮的应用程序,它使用多个 inputSelection 小部件,用于根据用户输入更新绘图。

selectInput("selectedSites", "Select Site(s) :",
                sensor_locations$description, multiple = TRUE,
                selected = sensor_locations$description)

我现在还希望允许用户通过单击传单地图上的标记来选择站点(允许通过 inputSelection 小部件进行选择)。

我这样做如下:通过观察标记上的点击并更新 inputSelection 框。

observeEvent(input$sitemap_marker_click, {
    click <- input$sitemap_marker_click
    print(click)
    print(click$id)
    updateSelectInput(session, "selectedSites", 
                      selected = click$id)
  })

这很好用,只是它只适用于单个输入。 inputSelect 小部件上的先前选择被删除,并由标记单击所代表的站点更新。

然而,我想添加到现有的选择中而不是替换它。

【问题讨论】:

    标签: r shiny leaflet


    【解决方案1】:

    通过包含先前选择的值的组合并单击标记值,设法部分解决了该问题。

    observeEvent(input$sitemap_marker_click, {
        click <- input$sitemap_marker_click
        updateSelectInput(session, "selectedSites", 
                          selected = c(input$selectedSites, click$id))
      })
    

    不过,如果选中的标记值已经存在,我还想在单击时从列表中删除它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多