Виджеты появляются при наведении мыши - PullRequest
1 голос
/ 18 июня 2019

Я бы хотел, чтобы виджет был невидимым, пока над ним не наведет курсор мыши.

Используя блестящие, я могу заставить виджет показывать / скрывать, когда курсор входит в область. Однако я хотел бы разместить виджет в Районе, так сказать. Это возможно?

Насколько я получил:

library(shiny)
library(shinyjs)

shinyApp(

 ui = fluidPage(
    useShinyjs(), 
    p(id="Area","Area"),   
    selectInput("A_widget", label = "A widget", choices=c("None"), selected="None")   
 ),

 server = function(input, output) {
    shinyjs::hide("A_widget")
    onevent("mouseenter", "Area", shinyjs::show("A_widget"))
    onevent("mouseleave", "Area", shinyjs::hide("A_widget"))
 }

))

Я хотел бы что-то вроде этого псевдокода с виджетом, наведенным на мышь над 'Area':

library(shiny)
library(shinyjs)

shinyApp(

 ui = fluidPage(
    useShinyjs(), 
    p(id="Area", selectInput("A_widget", label = "A widget", choices=c("None"), selected="None"))
 ),

 server = function(input, output) {
    shinyjs::hide("A_widget")
    onevent("mouseenter", "Area", shinyjs::show("A_widget"))
    onevent("mouseleave", "Area", shinyjs::hide("A_widget"))
 }

))

Я хотел бы, чтобы виджет появлялся при наведении мыши. Спасибо!

1 Ответ

2 голосов
/ 19 июня 2019

Используйте div с размерами:

library(shiny)
library(shinyjs)

shinyApp(

  ui = fluidPage(
    useShinyjs(), 
    div(id="Area", style = "width:300px;height:50px", 
        selectInput("A_widget", label = "A widget", choices=c("None"), selected="None"))
  ),

  server = function(input, output) {
    shinyjs::hide("A_widget")
    onevent("mouseenter", "Area", shinyjs::show("A_widget"))
    onevent("mouseleave", "Area", shinyjs::hide("A_widget"))
  }

)
...