从MainPanel切换到Tabset视图时,Shiny中的文本输入无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从MainPanel切换到Tabset视图时,Shiny中的文本输入无效相关的知识,希望对你有一定的参考价值。
我有一个Shiny应用程序,它接受文本输入并在主面板上显示它(我使用this答案来构建它):
长子。 R:
library(shiny)
shinyUI(fluidPage(
titlePanel("This is a test"),
sidebarLayout(
sidebarPanel(
textInput("text1", "Enter the text", ""),
actionButton("goButton", "Go")
),
mainPanel(
h3(textOutput("text1", container = span))
)
)
)
)
server.r:
shinyServer(function(input, output) {
cap <- eventReactive(input$goButton, {
input$text1
})
output$text1 <- renderText({
cap()
})
})
它工作得很好,直到我决定添加一个Tabset面板,并在其中一个选项卡上显示输入。我在ui.r中修改了mainPanel(),如下所示:
mainPanel(
tabsetPanel(type = "tabs",
tabPanel("t1"),
tabPanel("t2",
tabPanel("t3"), h3(textOutput("text1", container = span)),
)
)
在此更改后,我在启动应用程序时出错:
ERROR: cannot coerce type 'closure' to vector of type 'character'
有什么我想念的吗?
答案
您必须将内容放在调用tabPanel
的选项卡中。例如:
mainPanel(
tabsetPanel(
type = "tabs",
tabPanel("t1"),
tabPanel("t2"),
tabPanel("t3", h3(textOutput("text1", container = span)))
)
)
因此,server.R与你的问题没有变化,ui.R变为:
library(shiny)
shinyUI(
fluidPage(
titlePanel("This is a test"),
sidebarLayout(
sidebarPanel(
textInput("text1", "Enter the text", ""),
actionButton("goButton", "Go")
),
mainPanel(
tabsetPanel(
type = "tabs",
tabPanel("t1"),
tabPanel("t2"),
tabPanel("t3", h3(textOutput("text1", container = span)))
)
)
)
)
)
以上是关于从MainPanel切换到Tabset视图时,Shiny中的文本输入无效的主要内容,如果未能解决你的问题,请参考以下文章
单击按钮时如何将文本视图从一件事切换到另一件事 - Android
如何根据 Shiny R 中的用户选择在 MainPanel 中显示数据?