Сер*_*щин 1 javascript r shiny shinydashboard
通过fileInput上传多个文件(例如6个)后,我会在按钮旁边收到文本“ 6个文件”,并在进度栏中收到“上传完成”。另外,我想在紧急情况下(进度错误或上传错误)在进度栏中提供了一些文本。我正在编写的应用的用户界面为俄语,因此所有标签均应为俄语。根据文档,我只能在fileInput中设置buttonLabel和占位符标签,而与上面提到的文本无关。有什么想法可以更改吗?
这不是一个完整的解决方案,因为它不能解决您使用多个文件的问题,但这可能只是一个开始。这将更改进度栏中的文本:
您可以使用包含在中的文件中的自定义javascript函数来执行此操作tags$script()
。javascript文件需要放在www文件夹中
app.r
www
|__ fileInput_text.js
Run Code Online (Sandbox Code Playgroud)
应用程序
ui <- fluidPage(
tags$script(src="fileInput_text.js"),
fileInput('uploaded', 'Data Upload')
)
shinyApp(ui = ui, server = function(input, output) {})
Run Code Online (Sandbox Code Playgroud)
自定义javascript函数:fileInput_text.js
$(document).ready(function(){
$('#uploaded_progress').on("DOMSubtreeModified",function(){
var target = $('#uploaded_progress').children()[0];
if(target.innerHTML === "Upload complete"){
console.log('Change')
target.innerHTML = 'YOUR TEXT HERE';
}
});
});
Run Code Online (Sandbox Code Playgroud)
此函数将为您查找fileInput的ID(在本例中为uploaded
),并将其从“上传完成”更改为您将其设置为: