R Shiny - 将 selectizeInput 作为参数传递给 ShinyModule
R Shiny - Passing selectizeInput as argument to ShinyModule
这是我的服务器功能代码:
dragularServer <- function(id, input_col) {
moduleServer(
id,
function(input, output, session = getDefaultReactiveDomain()) {
output$elementsInput <- renderUI({
lapply(input_col, function(x) tags$div(class="inlinedisplay", drag = x, x))
})
}
)
}
我想将值从 selectizeinput 传递给函数。
selectizeInput("columns_1", "Relevant vars", choices = unique(data$var), selected = c("Tradition"), multiple = T)
## Übergabe
dragularServer("id_1", input_col = input$columns_1)
数据正确传递一次(加载时),但不会对任何更改做出反应。谁能解释这种行为?跟命名空间有关系吗?
您对 dragularServer
的输入只是一个值而不是一个反应,因此它只会在启动时传递一次。要使其具有反应性,请使用 reactive({input$columns_1})
并调整服务器中的代码以处理反应性值,即 input_col()
这是我的服务器功能代码:
dragularServer <- function(id, input_col) {
moduleServer(
id,
function(input, output, session = getDefaultReactiveDomain()) {
output$elementsInput <- renderUI({
lapply(input_col, function(x) tags$div(class="inlinedisplay", drag = x, x))
})
}
)
}
我想将值从 selectizeinput 传递给函数。
selectizeInput("columns_1", "Relevant vars", choices = unique(data$var), selected = c("Tradition"), multiple = T)
## Übergabe
dragularServer("id_1", input_col = input$columns_1)
数据正确传递一次(加载时),但不会对任何更改做出反应。谁能解释这种行为?跟命名空间有关系吗?
您对 dragularServer
的输入只是一个值而不是一个反应,因此它只会在启动时传递一次。要使其具有反应性,请使用 reactive({input$columns_1})
并调整服务器中的代码以处理反应性值,即 input_col()