首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在闪亮的窗口中创建一个弹出框以获取输入数据,然后在我闪亮的应用程序中携带foward?

如何在闪亮的窗口中创建一个弹出框以获取输入数据,然后在我闪亮的应用程序中携带foward?
EN

Stack Overflow用户
提问于 2016-07-25 15:27:57
回答 1查看 950关注 0票数 0

我有一个应用程序,我想在前面问一个问题,比如弹出一个对话框,回答问题,让盒子消失,然后运行我的应用程序。

我已经找了一个多星期了,很多事情都没有结果。我只试过readline()。我已经看过ShinyBS了,但是没有一个例子起作用。我调查过tcltk2。虽然我没有发现任何错误,但没有发生任何意外,没有任何对话框。

下面是我想做的一个简单的例子。

假设我只想要一个弹出的盒子来问,你叫什么名字?

输入名称后,方框关闭,应用程序开始。也许这个应用程序现在说的是“你好名字”。

请帮我更新下面的代码。

代码语言:javascript
复制
library(shiny)
library(tcltk2)
library(shinybs)

#Create pop up box asking name. Then substitute this value into XXX below.
ui <- shinyUI(fluidPage(

   # Application title
   titlePanel("Hello XXX, how are you?")


   )
)

server <- shinyServer(function(input, output) {


   })


# Run the application 
shinyApp(ui = ui, server = server)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 19:00:07

为了完整起见,下面是我编写的代码。这是从猪排引用的链接中收集到的。虽然有些地方我还是不明白。

代码语言:javascript
复制
library(shiny)

Logged = FALSE;

ui1 <- function(){
  tagList(
    div(id = "login",
        wellPanel(textInput("name", "Name"),
                  br(),actionButton("submit", "Submit"))),
    tags$style(type="text/css", "#login {font-size:10px;   text-align: left;position:absolute;top: 40%;left: 50%;margin-top: -100px;margin-left: -150px;}")
  )}

ui2 <- function(){fluidPage(

  # Application title
  titlePanel({
    fluidRow(column(12,
            textOutput("greeting")))


            })

)}


ui = (htmlOutput("page"))
server = (function(input, output,session) {

  USER <- reactiveValues(Logged = Logged)

  observe({ 
    if (USER$Logged == FALSE) {
      if (!is.null(input$submit)) {
        if (input$submit > 0) {
          Username <- isolate(input$name)
          if (length(Username) > 0 ) {

            USER$Logged <- TRUE

          }
        } 
      }
    }    
  })
  observe({
    if (USER$Logged == FALSE) {

      output$page <- renderUI({
        div(class="outer",do.call(bootstrapPage,c("",ui1())))
      })
    }
    if (USER$Logged == TRUE) 
    {
      output$page <- renderUI({
        div(class="outer",do.call(fluidPage,ui2()))
      })
      print(ui)
    }
  })

  output$greeting <- renderText({
    print(paste("Hello, how are you", " ", input$name,"?", sep = ""))
    })

})

runApp(list(ui = ui, server = server))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38571810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档