【发布时间】:2022-10-04 16:39:32
【问题描述】:
当有任何用户输入时,我试图隐藏下图所示的条件面板以外用户单击操作按钮“删除”或在条件面板中呈现的selectInput() 函数中进行选择,如下图所示。将添加其他用户输入(操作按钮、单选按钮、选择输入等),因此列出导致条件面板隐藏的每个操作是不可行的。该条件面板应始终在单击“删除”时呈现。关于如何做到这一点的任何建议?代码显示在底部。
代码:
library(rhandsontable)
library(shiny)
mydata <- data.frame('Col 1' = c(1,24,0,1), check.names = FALSE)
rownames(mydata) <- c('Term A','Term B','Term C','Term D')
ui <- fluidPage(br(),
rHandsontableOutput("mytable"),br(),
fluidRow(
column(1,actionButton("addCol", "Add",width = '70px')),
column(1,actionButton("delCol","Delete",width = '70px')),
column(3,conditionalPanel(condition = "input.delCol",uiOutput("delCol"))) # js here
)
)
server <- function(input, output) {
output$mytable = renderRHandsontable(df())
df <- eventReactive(input$addCol, {
if(input$addCol > 0){
newcol <- data.frame(mydata[,1])
names(newcol) <- paste("Col",ncol(mydata)+1)
mydata <<- cbind(mydata, newcol)
}
rhandsontable(mydata,rowHeaderWidth = 100, useTypes = TRUE)
}, ignoreNULL = FALSE)
observeEvent(input$delCol,
{output$delCol<-renderUI(selectInput("delCol",label=NULL,choices=colnames(mydata),selected="Col 1"))}
)
}
shinyApp(ui,server)
【问题讨论】:
-
我会研究
shinyjs,它是一个 R 包,可以帮助您隐藏和显示闪亮的对象,它也可以与操作按钮一起使用
标签: javascript r shiny shiny-reactivity