Добавление всплывающей подсказки к отключенной кнопке в Shiny?
В R/Shiny я хотел бы добавить tooltip
сообщить пользователю, что кнопка отключена, потому что обязательные поля не заполнены.
Я могу получить подсказку для отображения с помощью ShinyBS
пакет, однако он не работает, когда кнопка отключена. Ниже приведен минимальный рабочий пример.
Легко ли исправить подсказку для работы с отключенной кнопкой в Shiny?
ui.R
library(shinyBS)
library(shiny)
library(shinyjs)
shinyUI(pageWithSidebar(
headerPanel("actionButton test"),
sidebarPanel(
numericInput("n", "N:", min = 0, max = 100, value = 50),
br(),
actionButton("goButton", "Disabled!"),
actionButton("goButton2", "Go!"),
bsTooltip("goButton", "Tooltip broken", placement = "bottom", trigger = "hover",
options = NULL),
bsTooltip("goButton2", "Tooltip works", placement = "bottom", trigger = "hover",
options = NULL)
),
mainPanel(useShinyjs(),
verbatimTextOutput("nText")
)
))
server.R
library(shiny)
library(shinyjs)
library(shinyBS)
shinyServer(function(input, output,session) {
ntext <- eventReactive(input$goButton, {
input$n
})
shinyjs::disable("goButton2")
output$nText <- renderText({
ntext()
})
})
1 ответ
Решение
Это один из способов решения вашей проблемы, предоставив вместо этого заголовок для ваших кнопок:
rm(list=ls())
library(shinyBS)
library(shiny)
library(shinyjs)
ui <- pageWithSidebar(
headerPanel("actionButton test"),
sidebarPanel(numericInput("n", "N:", min = 0, max = 100, value = 50),
tags$div(style="display:inline-block",title="Tooltip broken",actionButton("goButton", "Disabled!")),
tags$div(style="display:inline-block",title="Tooltip works",actionButton("goButton2", "Go!"))
),
mainPanel(useShinyjs(),
verbatimTextOutput("nText")
)
)
server <- shinyServer(function(input, output,session) {
ntext <- eventReactive(input$goButton, {input$n})
shinyjs::disable("goButton2")
output$nText <- renderText({ntext()})
})
shinyApp(ui = ui, server = server)