有光泽,仅当在 fileInput 中选择文件时才显示元素
Shiny, show element only if file selected in fileInput
在我的 Shiny 应用中,用户最多可以加载 4 个文件。当用户加载文件时,我想为给定文件显示一个唯一 ID(发现文件中的文本)。但是,由于我使用的是响应式函数,所以只有当用户加载所有 4 个文件时,我才设法显示这些唯一 ID。以下是服务器端的代码行,显示了嵌入式 html 程序片段:
tags$li( paste0("ID files : ", code_to_get_ID_file( input_file_1() ),
code_to_get_ID_file( input_file_2() ),
code_to_get_ID_file( input_file_3() ),
code_to_get_ID_file( input_file_4() )
)
)
在前面的代码中,input_file_i
反应函数定义如下:
input_file_i <- reactive({
req(input$file_i)
readLines(input$file_i$datapath)
})
您是否知道如何在用户加载给定文件后立即显示每个 ID?也许我应该使用 if
语句?如果是这种情况,您知道 how/where 放置它们吗?或者是否存在针对这种情况的特定 Shiny 函数?
好吧,这比我最初想的要简单。我将新输出与文件的 name
相关联,它也对应于每个文件的唯一 ID,并将其呈现为文本:
output$file_i <- renderText({
paste("ID file i : ", input$file_i$name)
})
最后我补充说:
tags$li( textOutput("file_i") )
一切顺利。
在我的 Shiny 应用中,用户最多可以加载 4 个文件。当用户加载文件时,我想为给定文件显示一个唯一 ID(发现文件中的文本)。但是,由于我使用的是响应式函数,所以只有当用户加载所有 4 个文件时,我才设法显示这些唯一 ID。以下是服务器端的代码行,显示了嵌入式 html 程序片段:
tags$li( paste0("ID files : ", code_to_get_ID_file( input_file_1() ),
code_to_get_ID_file( input_file_2() ),
code_to_get_ID_file( input_file_3() ),
code_to_get_ID_file( input_file_4() )
)
)
在前面的代码中,input_file_i
反应函数定义如下:
input_file_i <- reactive({
req(input$file_i)
readLines(input$file_i$datapath)
})
您是否知道如何在用户加载给定文件后立即显示每个 ID?也许我应该使用 if
语句?如果是这种情况,您知道 how/where 放置它们吗?或者是否存在针对这种情况的特定 Shiny 函数?
好吧,这比我最初想的要简单。我将新输出与文件的 name
相关联,它也对应于每个文件的唯一 ID,并将其呈现为文本:
output$file_i <- renderText({
paste("ID file i : ", input$file_i$name)
})
最后我补充说:
tags$li( textOutput("file_i") )
一切顺利。