在R Shiny中实施CRUD工作流程的最简洁方法是什么?

时间:2015-02-25 16:19:23

标签: r shiny crud

我正在尝试实现CRUD工作流程(创建/读取/更新/删除) 有光泽来管理数据库记录。似乎Shiny不支持这一点 默认情况下是一种工作流程,所以我想知道是否有一种干净的方式 实现这一目标。

为了缩小问题的范围,我很难添加 静态链接到指向特定tabPanel的记录表 编辑相应的记录。

这是一个模型示例,可以更轻松地解决此问题 问题

ui.R

library(shiny)

shinyUI(navbarPage("Example",
 tabPanel("Event List",
          sidebarLayout(
            sidebarPanel(list(
              p("If you click the link, it should go to the edit event panel."),
              p("But it's not...")
            ), align="left"),
            mainPanel(
              h3("Event List"),
              tableOutput('testTable'),
              dataTableOutput('events_table'),
              align="center"))),
 tabPanel("Edit Event", id='edit',
          sidebarLayout(
            sidebarPanel(
              uiOutput("choose_event_id"),
              align="center"),
            mainPanel()
          )),
 id='top'
))

server.R

library(shiny)

shinyServer(function(input, output, session) {

  output$choose_event_id  <- renderUI({
    selectizeInput("event_id", "Event", width='100%',
                   choices=c(1,2,3), selected=1)
  })

  output$testTable <- renderTable({
    require(xtable)
    table <- xtable(data.frame(A=1,B='<a href="LINK-HERE">test</a>'))
    table
  }, sanitize.text.function = function(x) x)

})

LINK-HERE部分是我想弄清楚的。每次重新启动应用程序时,tabPanels链接都会更改,因此在这种情况下静态链接不起作用。


第二个问题是传递记录的id 在网址中进行了修改,但是这可以留给后续问题 必要。我将尝试使用来自的方法来实现这一目标 回答这个问题:

Shiny saving URL state subpages and tabs

提前致谢。

0 个答案:

没有答案