我已经在我的R shinydashboard侧边栏Menu中添加了shinywidget::PickerInput.

当 Select 器输入打开时,光标悬停在上面,我可以看到 Select 器输入中的所有5个选项都没有问题.然而,当光标移动到侧栏菜单之外的任何地方时--无论是在正文下面还是在正文中,选项都会被切断,我只能看到前两个选项.

我知道它们被切断了because,它们洒在边栏菜单区域之外--然而,在这种情况下,没有必要切断显示.

我能改变这种行为吗?理想情况下,无论光标移动到哪里,都不会切断任何选项.

或者,如果光标移动到PickerInput之外,我会很高兴PickerInputto‘Auto Close’(但我也不知道该怎么做!)

Update-我try 将pickerOptions(size = 5)添加到我的代码中,但是尽管文档上写着"菜单将显示给定数量的项目,即使下拉菜单被切断",但它确实阻止了鼠标移动时选项被切断.

Update--我的可复制的例子!

library(shiny)
library(shinydashboard)
library(shinyWidgets)

# Helper function 
convertMenuItem <- function(mi,tabName) {
  mi$children[[1]]$attribs['data-toggle']="tab"
  mi$children[[1]]$attribs['data-value'] = tabName
  if(length(mi$attribs$class)>0 && mi$attribs$class=="treeview"){
    mi$attribs$class=NULL
  }
  mi
}


# Define UI
ui <- dashboardPage(
  dashboardHeader(title = "Demo"),
  dashboardSidebar(
    sidebarMenu(
      convertMenuItem(
        menuItem(text = "Option1", 
                 tabName = "opt1",
                 shinyWidgets::pickerInput(inputId = "picker",
                                           label = "Select:",
                                           choices = c("Pick 1", "Pick 2", "Pick 3", "Pick 4", "Pick 5", "Pick 6"),
                                           selected = c(""),
                                           multiple = TRUE,
                                           options = list(`actions-box` = TRUE, 
                                                          `dropdownAlignRight` = TRUE,
                                                          `dropupAuto` = TRUE))),
        tabName = "opt1-outer"),
      menuItem("Option2", tabName = "opt2"),
      menuItem("Option3", tabName = "opt3")
    )
  ),
  dashboardBody(
  )
)
# Define server logic
server <- function(input, output) {
  
}

# Run the application
shinyApp(ui = ui, server = server)

illustration of the problem

推荐答案

默认情况下,打开的下拉菜单为display: block;.您可以通过添加以下内容将其更改为display: contents;

.open > .dropdown-menu {
    display: contents;
}

然后,当您将鼠标悬停离开时,所有选项都保持可见.

enter image description here

library(shiny)
library(shinydashboard)
library(shinyWidgets)

# Helper function 
convertMenuItem <- function(mi,tabName) {
    mi$children[[1]]$attribs['data-toggle']="tab"
    mi$children[[1]]$attribs['data-value'] = tabName
    if(length(mi$attribs$class)>0 && mi$attribs$class=="treeview"){
        mi$attribs$class=NULL
    }
    mi
}


# Define UI
ui <- dashboardPage(
    dashboardHeader(title = "Demo"),
    dashboardSidebar(
        sidebarMenu(
            convertMenuItem(
                menuItem(text = "Option1", 
                         tabName = "opt1",
                         shinyWidgets::pickerInput(inputId = "picker",
                                                   label = "Select:",
                                                   choices = c("Pick 1", "Pick 2", "Pick 3", "Pick 4", "Pick 5", "Pick 6"),
                                                   selected = c(""),
                                                   multiple = TRUE,
                                                   options = list(`actions-box` = TRUE, 
                                                                  `dropdownAlignRight` = TRUE,
                                                                  `dropupAuto` = TRUE))),
                tabName = "opt1-outer"),
            menuItem("Option2", tabName = "opt2"),
            menuItem("Option3", tabName = "opt3")
        )
    ),
    dashboardBody(
        tags$head(tags$style(HTML("
                                  .open > .dropdown-menu {
                                      display: contents;
                                  }
                                 ")))
    )
)
# Define server logic
server <- function(input, output) {
    
}

# Run the application
shinyApp(ui = ui, server = server)

Css相关问答推荐

为什么盒影没有显示在我的Angular组件中?

如何使搜索框扩展并溢出其他内容

如何在css中从圆中切出1/n?

InertiaJS - Vue - Laravel:Using CSS Files

如何在容器查询体中重新定义:Root的CSS自定义属性值?

位置:固定元素只是不固定

如何使用 tailwind css 修复滚动条始终位于底部?

Prettier/VS Code 在 CSS 中的 !important 之前添加一个空格,导致它在 WordPress 中崩溃

Bootstrap 和 Sass:将 SCSS 文件转换为 CSS 时出错.错误:$theme-colors-rgb 中未定义变量 @each $color、$value

2 列 UL,右列中的列表项数量为奇数?

如何使用显示网格制作不同大小的列取决于元素的数量

根据选项 colored颜色 更改 Select 文本 colored颜色

在 React Native 中创建背景

没有 colored颜色 Select 器的 JavaFX colored颜色 Select 器

CSS背景位置从顶部的给定像素开始?

你如何调试可打印的 CSS?

如何通过 JavaScript 重新触发 WebKit CSS 动画?

为什么我的 div 边距重叠,我该如何解决?

如何水平对齐 span 或 div?

HTML浮动右元素顺序