Я разрабатываю блестящее приложение, используя великолепный пакетосветное скольжение, чтобы создать модал для ввода пользователем некоторой информации. Проблема в том, что на первом экране мне нужно создать условное выражение, чтобы пользователь мог ввести значение, чтобы продолжить. К сожалению, я не могу использовать команду next_condition
на первом экране, кажется, работает только со второго экрана.
Когда я нажимаю кнопку «Далее» и затем возвращаюсь к первому экрану с помощью кнопки «Назад», условие работает, и я не могу идти вперед, пока не нажму хотя бы один параметр, но первыйвремя не работает таким образом.
Это нормальное поведение? Возможно ли установить другой тип условия в этом случае?
Я сделал небольшой пример, чтобы показать проблему:
library(shiny)
library(shinyglide)
ui <- fixedPage(
titlePanel("shinyglide modal example"),
sidebarLayout(
sidebarPanel(
p('Hello World')
),
mainPanel()
)
)
server <- function(input, output, session) {
modal_controls <- glideControls(
list(prevButton(),
firstButton(class = "btn btn-danger",`data-dismiss`="modal","No, thanks !")),
list(nextButton(),
lastButton(class = "btn btn-success",`data-dismiss`="modal","Done"))
)
glide_modal <- modalDialog(
title = "Startup assistant",easyClose = FALSE,footer = NULL,
glide(custom_controls = modal_controls,
screen(next_condition="input.options.length > 0",
p("First, please select an option"),
checkboxGroupInput("options", "Options", choices=c('a','b','c'),selected=NULL)
),
screen(p("Next, please select a number"),
numericInput("number", "Number", value = 1, min = 0)
),
screen(p("Thanks, we're all set !"))
)
)
showModal(glide_modal)
}
shinyApp(ui, server)