我正在尝试在简单的 Shiny 应用程序中动态选择特定的 tabPanel。app的脚本如下:
用户界面
library(shiny)
shinyUI(fluidPage(
titlePanel("SCORE CARD DEVELOPMENT PLATFORM"),
navbarPage("ScoreDevApp",
tabPanel("Settings",
fluidRow(column(2,
actionButton("goButton_service", "Load saved parameters",width=200)
)
)
),
tabPanel("Download & Binning input data")
)
)
)
Run Code Online (Sandbox Code Playgroud)
服务器.r :
library(shiny)
shinyServer(function(input, output, session) {
#load saved parameters
observeEvent(input$goButton_service, {
updateTabsetPanel(session, "ScoreDevApp", selected = "Download & Binning input data")
})
})
Run Code Online (Sandbox Code Playgroud)
这个想法是按下按钮"goButton_service"并选择 tabPanel "Download & Binning input data"。
我使用了这里的示例R Shiny switch tabPanel when selectInput value changes。
但是没有选择 tabPanel。我将非常感谢您的帮助:-)
问题是tabsetPanel您的 UI 中没有 a (它应该是两个 tabPanel 的父级)。现在您正在使用updateTabsetPanel,但目标是navbarPage。
下面的工作解决方案。有两个问题:navbarPage 需要一个id,并且server.R 中还有一个额外的空间selected(在 Binning 和 input`
用户界面
library(shiny)
shinyUI(fluidPage(
titlePanel("SCORE CARD DEVELOPMENT PLATFORM"),
navbarPage("ScoreDevApp",
tabPanel("Settings",
fluidRow(column(2,
actionButton("goButton_service", "Load saved parameters",width=200)
)
)
),
tabPanel("Download & Binning input data"),
id="ScoreDevApp"
)
)
)
Run Code Online (Sandbox Code Playgroud)
服务器
图书馆(闪亮)
shinyServer(function(input, output, session) {
#load saved parameters
observeEvent(input$goButton_service, {
updateNavbarPage(session, "ScoreDevApp", selected = "Download & Binning input data")
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3465 次 |
| 最近记录: |