首页 > 解决方案 > 如何仅针对 selectInput 滚动条在 absolutePanel 中取消可拖动?

问题描述

我有很多可能的选择,在一个selectInput里面absolutePanel

我希望absolutePaneldraggable

但是,当draggable = T滚动条selectInput不起作用时。当我单击它时,它会呈现拖动行为,而不是上下滚动。

在鼠标垫笔记本电脑上使用“两根手指”,或者鼠标中的滚动可以工作,但我需要使滚动条有用。

有任何想法吗?

可重现的示例来自尚未回答的Google Groups 问题。

用户界面

shinyUI(navbarPage("Leaflet App", id="nav",
                   tabPanel("Interactive map",
                            absolutePanel(id = "controls", fixed = TRUE,
                                              draggable = TRUE, top = 100, left = "auto", right = 20, bottom = "auto",
                                              width = 400, height = "auto",
                                              h2("Select Province"),
                                              br(),
                                              uiOutput("state_province_select")
                                )
                            )               
)
)

服务器

shinyServer ( 
  function(input, output) {
    output$state_province_select <- renderUI({
      selectchoices <- c("Prince Edward Island","Ontario",
                         "Prince Edward Island1","Ontario1",
                         "Prince Edward Island2","Ontario2",
                         "Prince Edward Island3","Ontario3",
                         "Prince Edward Island4","Ontario4",
                         "Prince Edward Island5","Ontario5",
                         "Prince Edward Island6","Ontario6",
                         "Prince Edward Island7","Ontario7",
                         "Prince Edward Island8","Ontario8")
          selectlabel <- "Province"
          choiceselected <- "Prince Edward Island"
          selectInput("state_province_select",paste("Select ",selectlabel,":"),
                      choices = selectchoices, selected = choiceselected)
        })
      }
    )

标签: rshiny

解决方案


这很烦人。

不是真正的答案,而是另一种选择:使用shinyjqui. 像这样:

library(shiny)
library(shinyjqui)

ui <- navbarPage("Leaflet App", id="nav",

                 tabPanel("Interactive map",

                          jqui_draggable(
                            div(
                              h2("Select Province"),
                              br(),
                              uiOutput("state_province_select")
                            ),
                            options = list(cancel = ".shiny-input-container")
                          )
                 )               
)

推荐阅读