sidebarPanel
のtabPanel
を追加して削除するボタンを設定したsidebarLayout
アプリがあります。しかし、私はどのようにこれらのtabPanelsをカスタマイズするのか分かりません。私のコードは以下の通りです:ShinyのボタンをクリックしてtabPanelをカスタマイズする方法
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(width = 3, fixed=T,
h3("L2 Machine"),
actionButton('moreL2', tags$b('Add L2')),
actionButton('lessL2', tags$b('Remove L2')),
uiOutput('panelset'),
tabPanel("L2panel",
numericInput(inputId='L2amount', 'Select L2 Amount', value=0),
selectInput(inputId='L2type', 'Select L2 Type', c('Percent', 'Absolute')),
uiOutput('L2daterange')
)
),
mainPanel(
verbatimTextOutput('L2a'),
verbatimTextOutput('L2t')
)
)
)
server <- function(input, output) {
output$L2a <- renderPrint(input$L2amount)
output$L2t <- renderPrint(input$L2type)
output$panelset <- renderUI({
n <- seq(max(input$moreL2 - input$lessL2 + 1, 1))
tabList <- lapply(paste("Pan", n), tabPanel)
do.call(tabsetPanel, tabList)
})
output$L2daterange <- renderUI({
dateRangeInput(inputId='L2daterange',
label='Select Adjustment Period',
start='01-01-2010', end='01-12-2015'
)
})
}
shinyApp(ui, server)
現在、私はtabPanel()
内numericInput()
、selectInput()
、そしてuiOutput()
を持っています。代わりに、tabPanel
ボタンをクリックして "Add L2"を作成して、numericInput
、selectInput
、uiOutput
という独自のセットを作成します。
おかげで、@UnnamedUser!これはうまくいって、説明は素晴らしかった! –