Есть ли способ создать "?" кнопка действия значок для r блестящий?

avatar
student_1999
1 июля 2021 в 18:24
90
1
0

Мне интересно, есть ли способ создать "?" кнопка со значком, при нажатии на которую отображается всплывающее сообщение, объясняющее, почему моя модель. Кроме того, как мне сделать его горизонтально встроенным с моим виджетом numericInput.

fileInput("file1", "Choose CSV File",
    accept = c("text/csv",
               "text/comma-separated-values,text/plain",
               ".csv")
),

helper(shiny_tag, icon = "question-circle", colour = NULL,
    type = "markdown", title = "Help", content = "Content", size= "m", 
    buttonLabel = "Okay", easyClose = TRUE, fade = FALSE)

Второе решение, которое я пробовал, также вызывало у меня проблемы.

actionButton("show", "Show modal dialog"), 

server <- function(input, output) {

observeEvent(input$show, {
    showModal(modalDialog(
        title = "Somewhat important message",
        "This is a somewhat important message.",
        easyClose = TRUE,
        footer = NULL
    ))
})


}
Источник
r2evans
1 июля 2021 в 18:29
1

Добро пожаловать в SO, Кристал Вай! StackOverflow, как правило, больше посвящен конкретным примерам и проблемам программирования, а не открытым или теоретическим. Пожалуйста, прочитайте coderhelper.com/q/5963269, минимальный воспроизводимый пример, и coderhelper.com/tags/r/info, чтобы узнать, что подразумевается под MWE и как лучше сформулировать свой вопрос. В отсутствие каких-либо изменений это, вероятно, будет закрыто (или проигнорировано) как «требует внимания». Спасибо!

r2evans
1 июля 2021 в 18:31
1

(Кажется, достаточно просто использовать shiny::actionButton и shiny::modalDialog, чтобы сделать там основы. Выравнивание с другими вашими входными данными основано на пользовательском интерфейсе, о котором мы ничего не знаем...)

student_1999
1 июля 2021 в 18:57
0

@r2evans спасибо! Надеюсь, я улучшил свой вопрос. Я медленно учусь использовать этот язык, извините за первоначальную неопределенность.

r2evans
1 июля 2021 в 19:00
0

Выздоравливайте, спасибо! У него еще есть возможности для улучшения. Для начала: (1) вы упомянули, что он должен быть выровнен с numericInput, но мы не видим, как настроен пользовательский интерфейс; (2) наличие функциональных/полных (хотя и минимальных) компонентов ui и server является хорошим началом. Нам не нужны все реактивные блоки, которые не относятся к вопросу (неиспользованный ввод по-прежнему актуален, незавершенный график в порядке и т. д.). Спасибо!

student_1999
3 июля 2021 в 02:45
0

Я вижу, я буду продолжать улучшать свои сообщения в будущем! Большое спасибо за ваш отзыв!

Ответы (1)

avatar
lz100
1 июля 2021 в 20:29
0

Попробуйте это:

library(shiny)
ui <- fluidPage(
  div(
    class = "input-group",
    tags$span(
      style = "display: inline-block",
      numericInput("a", "Some number", 0, width = "100%")
    ),
    tags$span(
      style = "vertical-align: bottom;",
      actionButton("b", "", icon = icon("question"))
    )
  )
)

server <- function(input, output, session) {
  observeEvent(input$b, {
    showModal(modalDialog(
      title = "Somewhat important message",
      "This is a somewhat important message.",
      easyClose = TRUE,
      footer = NULL
    ))
  })
}

shinyApp(ui, server)