闪亮的应用程序,可供多用户编辑可供、多用户、应用程序、编辑

由网友(夜未央゛樱花落)分享简介:我想知道我是否可以创建一个闪亮的应用程序(类似于Excel电子表格),以便授权多个用户登录(如使用shinyapp.io)同时编辑/输入?我之所以想使用SHINY而不仅仅是EXCEL电子表格,是因为我可能会添加更多的功能(如统计估计、可视化等)。基于多个用户使用R.上传的数据。期待您的建议/建议谢谢!推荐答案我发现...我想知道我是否可以创建一个闪亮的应用程序(类似于Excel电子表格),以便授权多个用户登录(如使用shinyapp.io)同时编辑/输入?我之所以想使用SHINY而不仅仅是EXCEL电子表格,是因为我可能会添加更多的功能(如统计估计、可视化等)。基于多个用户使用R.上传的数据。

期待您的建议/建议 谢谢!

推荐答案

我发现以下模式对我有效:在server外部创建reactiveVal对象,然后在应用程序中访问/更新它。在这里,我编写了一个用于获取消息并将其附加到聊天中的包装器。(代码如下)

但是,我认为这种模式只有在所有用户共享相同的R会话时才有效,并且如果当前R会话结束(所有用户都断开连接),数据将丢失。因此,您可能希望查看this article以了解持久性存储方法的诀窍。此外,请查看reactiveFileReader的文档,以获取更方便的文件访问方式。

library(shiny)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("msg", "Message", placeholder = "type a message in the chat"),
      actionButton("submit", "submit")
    ),
    mainPanel(
      verbatimTextOutput("text")
    )
  )
)

createChat <- function(initVal) {
  chat_text <- reactiveVal(initVal)
  list(
    get = function(){ chat_text() },
    append = function(val) {
      chat_text(paste0(isolate(chat_text()), "
", val))
    }
  )
}

myChat <- createChat("## This is a chat ##
")

server <- function(input, output) {
  observeEvent(input$submit, {
    myChat$append(input$msg)
  })
  output$text <- renderText(myChat$get())
}

shinyApp(ui = ui, server = server)
阅读全文

相关推荐

最新文章