我想仅在选择特定选项卡时显示一个闪亮的小部件。现在我无法全部显示。
## app.R ##
library(shiny)
library(shinydashboard)
library(shinyWidgets)
ui <- dashboardPage(
dashboardHeader(title = "P-T-H2O-An"),
dashboardSidebar(
uiOutput("filter1")
),
dashboardBody(
tabsetPanel(
id="tabs",
tabPanel(strong("PLAGIOCLASE SATURATION CHECK")),
tabPanel(strong("AN CONTENT")),
tabPanel(strong("THERMOMETRY")),
tabPanel(strong("HYGROMETRY")),
tabPanel(strong("BAROMETRY")),
tabPanel(strong("Filtering & Saving Estimates"))
)
)
)
server <- function(input, output) {
output$filter1<-renderUI({
if(input$tabs=="PLAGIOCLASE SATURATION CHECK"){
pickerInput(
inputId = "x1",
label = "Select all option",
choices = rownames(mtcars),
multiple = F,
options = list(`actions-box` = TRUE)
)
}
else{
return(NULL)
}
})
}
shinyApp(ui, server)
您的输入选项卡名称是“strong(“PLAGIOCLASE SATURATION CHECK”)”,这会导致 HTML/文本值传递到“输入”作为
<strong>PLAGIOCLASE SATURATION CHECK</strong>
因此“==”将会失败,因为它实际上不是正在读入的名称。
尝试一下:
output$filter1<-renderUI({
ui <- NULL
if(grepl("PLAGIOCLASE SATURATION CHECK",input$tabs)) {
ui <- pickerInput(
inputId = "x1",
label = "Select all option",
choices = rownames(mtcars),
multiple = F,
options = list(`actions-box` = TRUE)
)
}
return (ui)
})