Я создаю блестящее приложение и понял, что повторяю определенный элемент пользовательского интерфейса, поэтому мне интересно, есть ли способ обернуть это в функцию и предоставить параметры, чтобы она работала в разных случаях. В моем файле сервера у меня есть
output$loss <- renderUI({
req(input$got)
if(input$got %in% Years) return(numericInput('got_snow', label = 'John Snow', value = NA))
if(!input$got %in% Years) return(fluidRow(column(3)))
})
, а в файле пользовательского интерфейса у меня есть:
splitLayout(
cellWidths = c("30%","70%"),
selectInput('got', label = 'Select age', choices = c('',Years) , selected = NULL),
uiOutput("loss")
)
Поскольку я использую их несколько раз и меняю лишь несколько вещей в обоих пользовательский интерфейс и файлы сервера, я хотел обернуть их в функцию и использовать их, как и когда угодно. Я попробовал это для файла сервера
ui_renderer <- function(in_put, label, id){
renderUI({
req(input[[in_put]])
if(input[[in_put]] %in% Years) return(numericInput(id, label = label, value = NA))
if(!input[[in_put]] %in% Years) return(fluidRow(column(3)))
})
}
output$p_li <- ui_renderer(input='li', "Enter age", id="c_li")
и в своем файле пользовательского интерфейса, я поставил
uiOutput('c_li')
, но он не работает. Любая помощь с благодарностью.