在我的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
声明?如果是这种情况你知道如何/放在哪里?或者对于这种情况是否存在特定的Shiny功能?
答案 0 :(得分:0)
好的,我最初想的更容易。我将新输出与文件的name
相关联,该输出也对应于每个文件的唯一ID,并将其呈现为文本:
output$file_i <- renderText({
paste("ID file i : ", input$file_i$name)
})
最后我补充道:
tags$li( textOutput("file_i") )
一切都很顺利。