单击操作按钮时删除文本

时间:2017-03-13 01:35:44

标签: r shiny

我想使用shiny删除mainPanel上的textOutput。当应用程序启动时,应该有文本,例如“欢迎...”。通过单击操作按钮,将打印一个数据表,并且应删除该文本而不将其写入表格下方。我尝试过这样的事情(见下文),但output$mytable2不能用作指标(

  

错误:不允许从shinyoutput对象中读取对象。

)。我没有包含整个代码,因为我认为这可能是非常基本的但我找不到解决方案。 (我还尝试了“removeUI”从按钮的textOutput()功能中删除了ui observeEvent,但这删除了所有内容)

ui :  [...]
        mainPanel(
        DT::dataTableOutput('mytable2'),
        textOutput("welcome1")

server: [...]
        output$mytable2 <- DT::renderDataTable({
          (DT::datatable(datasetInput(),rownames=FALSE))
           }) 

          fg<-reactive({text1<-c("Welcome..","") 
          fg<-2
          if (is.null(output$mytable2)){fg=1}
          return(text1[fg])}) 

        output$welcome1 <- renderText({ fg() })...

任何简单的想法?如何管理这个示例?非常感谢!

1 个答案:

答案 0 :(得分:1)

这个解决方案怎么样:

<强> ui.R

uiOutput("text)
actionButton("button1", "Go")

<强> server.R

output$text <- renderUI({if(input$button1 == 0){paste("Welcome...")} else{return()}})

如果未按下actionButton,则其值 0 ,按下后,值将更改为 1

因此我使用了if...else..声明,如果按钮的值为 0 ,则显示文字“Welcome ...”,如果它变为 1 ,什么都不回报。