相关疑难解决方法(0)

R Shiny模块带有conditionalPanel和reactives

我试图模块化一个复杂的Shiny应用程序,我conditionalPanel应该只在给定某个输入状态时出现.

在我将所有内容都模块化之前,输入和conditionalPanel都在ui.R,我可以使用以下内容引用输入:

conditionalPanel("input.select == 'Option one'", p('Option one is selected'))
Run Code Online (Sandbox Code Playgroud)

现在我已经模块化了,访问输入更加复杂.我认为以下是这样做的方法,但它并不是很有效.(这里我把东西组合成一个独立的脚本):

library(shiny)

## Module code for 'selectorUI' and 'selector'
selectorUI <- function(id) {
  ns <- NS(id)
  selectizeInput(inputId = ns('select'),
                 label = 'Make a choice:',
                 choices = c('Option one', 'Option two'))
}

selector <- function(input, output, session) {
  reactive(input$select)
}

## Main app
ui <- shinyUI(fluidPage(
  selectorUI('id1'),
  conditionalPanel(condition = "output.selected == 'Option one'", p('Option one is selected.'))
))

server <- shinyServer(function(input, output, session) {
  output$selected <- callModule(selector, …
Run Code Online (Sandbox Code Playgroud)

module r shiny

9
推荐指数
1
解决办法
2299
查看次数

标签 统计

module ×1

r ×1

shiny ×1