我需要永久性存储以显示曾经输入的所有记录,并且实现了如下操作:
humanTime <- function() format(Sys.time(), "%d%m%Y-%H%M%OS")
formData <- reactive({
data <- sapply(fieldsAll, function(x) input[[x]])
#data <- c(data, timestamp = humanTime())
data <- t(data)
data
})
saveData <- function(data) {
fileName <- sprintf("%s_%s.csv",
humanTime(),
digest::digest(data))
write.csv(x = data, file = file.path(responsesDir, fileName),
row.names = FALSE, quote = TRUE)
}
# action to take when submit button is pressed
observeEvent(input$submit, {
saveData(formData())
})
并按以下方式显示数据:
output$responsesTable <- DT::renderDataTable(
loadData(),
rownames = FALSE,
options = list(searching = FALSE, lengthChange = FALSE,server=TRUE)
)
它可以很好地显示我曾经输入的所有记录。但是问题是,当我单击提交时,datable无法反映数据。我刷新了我的应用程序(按F5键),现在我检查时,最近输入的数据也会在数据表中更新。
点击“提交”(actionButton)后,有什么方法可以使其显示。
我还需要更改DataTableOutput的标题。例如,如果inputId为“ aname”,则数据表的列标题为“ aname”,但我需要它作为标签中给出的“ Associate Name”。
textInput("aname", "Associate Name")