我想将此代码保存为片段:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("panel")
),
mainPanel(
tabsetPanel(
id = "tabset",
tabPanel("panel 1", "one"),
tabPanel("panel 2", "two"),
tabPanel("panel 3", "three")
)
)
)
)
server <- function(input, output, session) {
output$panel <- renderText({
paste("Current panel: ", input$tabset)
})
}
我按照通常的方式做: 工具 -> 全局选项 -> 代码 -> 编辑片段...
snippet my_shiny_tabsetPanel
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("panel")),
mainPanel(
tabsetPanel(
id = "tabset",
tabPanel("panel 1", "one"),
tabPanel("panel 2", "two"),
tabPanel("panel 3", "three")
))))
server <- function(input, output, session) {
output$panel <- renderText({
paste("Current panel: ", input$tabset)
})
}
然后保存。 当我调用该片段时,我得到:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("panel")),
mainPanel(
tabsetPanel(
id = "tabset",
tabPanel("panel 1", "one"),
tabPanel("panel 2", "two"),
tabPanel("panel 3", "three")
))))
server <- function(input, output, session) {
output <- renderText({
paste("Current panel: ", input)
})
}
请检查
output$panel
和input$tabset
。
发生什么事了?
我尝试使用
$
或使用\$
来逃避$$
。但没有成功。
中提供的解决方案应该有效:
snippet my_shiny_tabsetPanel
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("panel")),
mainPanel(
tabsetPanel(
id = "tabset",
tabPanel("panel 1", "one"),
tabPanel("panel 2", "two"),
tabPanel("panel 3", "three")
))))
server <- function(input, output, session) {
output${2:$}panel <- renderText({
paste("Current panel: ", input${2:$}tabset)
})
}