闪亮的展示和计划

show and plan in shiny

谁能告诉我如何根据此处的选择更改变量名称默认名称是隐藏计划一旦我单击link名称应该是显示计划

library(shiny)
library(shinyjs)

ui <- fluidPage(
  useShinyjs(),
  actionLink("hide", "Hideplan"),
  shinyjs::hidden(DT::dataTableOutput("table")),DT::dataTableOutput("table2"))


server <- function(input,output){
  output$table <- DT::renderDataTable({
    iris
  })
  output$table2 <- DT::renderDataTable({
    mtcars
  })
  
  observeEvent(input$hideshow, {
    shinyjs::toggle(id= "table")
    shinyjs::toggle(id= "table2")
  })
}

shinyApp(ui=ui,server=server)

您可以像这样实施 modulo %% 检查。那么这里发生了什么:

-actionLink类似于actionButton,每按一次,事件加1,从0开始,都是在做

-然后我们将使用 modulo 运算符检查 input$hide 是否可以被 2 整除,如果是,那么我们将按钮名称更改为 Show plan,否则它将保持为Hide plan

-从 0 = Hide plan 开始,第一次点击 = Show plan,按钮 = 1,然后再次点击,计数现在是 2,因此它可以被 2 整除,因此我们再次将名称更改为 Hide plan,依此类推


library(shiny)
library(shinyjs)

ui <- fluidPage(
    useShinyjs(),
    actionLink("hide", "Hide plan"),
    shinyjs::hidden(
        DT::dataTableOutput("table")
    ),
    DT::dataTableOutput("table2")
)


server <- function(input,output,session){
    
    output$table <- DT::renderDataTable({
        iris
    })
    output$table2 <- DT::renderDataTable({
        mtcars
    })
    
    observeEvent(input$hide, {
        if (input$hide %% 2 == 1) {
            txt <- "Show plan"
        } else {
            txt <- "Hide plan"
        }
        
        shinyjs::toggle(id= "table")
        shinyjs::toggle(id= "table2")
        updateActionButton(session, "hide", label = txt)
    })
}

shinyApp(ui=ui,server=server)