В моем приложении я бы хотел, чтобы пользователь выбрал диапазон входных данных и создал выходные данные. У меня это работает, однако мои опции ввода занимают много места и не очень удобны для пользователя. Есть ли способ в сиянии либо:
1. Сжать / сжать входной размер
2. Имеются ли различные типы ввода в виде таблицы (матричный стиль?)
Я пытался использовать комбинацию fluidRow()
и column()
, чтобы она выглядела как таблица. Но это занимает много места. Ниже часть моего кода. Однако у меня есть 11 таких строк с одинаковыми параметрами во всех столбцах.
ui <- navbarPage(
title = "Dummy",
tabPanel(
tags$b("Input table"),
fluidRow(column(8,
textInput("name", h3("Name"),
value = "A"),
numericInput("area", "Area", value = 0)
)),
hr(),
fluidRow(column(3,
h4("Category")),
column(2,
h4("number1")),
column(3,
h4("checkbox options")),
column(2,
h4("radiobuttons")),
column(2,
h4("number2%"))
),
hr(),
### AAAA #####
fluidRow(column(3,
h4("AAAA")),
column(2,
numericInput("aaaal", "", value = 0, max = 100)),
column(1,
checkboxInput("aaaamlc", "selectthis", value= F)),
column(2,
checkboxInput("aaaamli", "selectthis", value= F)),
column(2,
radioButtons("aaaas", "", choices = list("option 1" = 1,
"option 2" = 2,
"None" = 3),
selected = 3, inline = F)),
column(2,
numericInput("aaaat", "", value = 0, max = 100))
),
### BBBB #####
fluidRow(column(3,
h4("BBBB")),
column(2,
numericInput("bbbbl", "", value = 0, max = 100)),
column(1,
checkboxInput("bbbbmlc", "selectthis", value= F)),
column(2,
checkboxInput("bbbbmli", "selectthis", value= F)),
column(2,
radioButtons("bbbbs", "", choices = list("Option 1" = 1,
"Option 2" = 2,
"None" = 3),
selected = 3, inline = F)),
column(2,
numericInput("bbbbt", "", value = 0, max = 100))
),
### CCCC ####
fluidRow(column(3,
h4("CCCC")),
column(2,
numericInput("ccccl", "", value = 0, max = 100)),
column(1,
checkboxInput("ccccmlc", "Low Cu/Zn", value= F)),
column(2, h5("")),
column(2,
radioButtons("ccccs", "", choices = list("Option 1" = 1,
"Option 2" = 2,
"None" = 3),
selected = 3, inline = F)),
column(2,
numericInput("cccct", "", value = 0, max = 100))
),
### DDDD ####
fluidRow(column(3,
h4("DDDD")),
column(2,
numericInput("ddddl", "", value = 0, max = 100))
),
hr(),
##### final action button ####
actionButton("do",h3(tags$b("calculate")),
width = "600px"),
hr()
))
server <- function(input, output, session) {
print("hello")
}
shinyApp(ui = ui, server = server)