提问人:JohnBones JohnBones 提问时间:11/17/2023 更新时间:11/17/2023 访问量:36
如何在 Shiny 服务器中粘贴 500 条代码
How to paste 500 chunck of code in Shiny server
问:
我需要传递此代码
observeEvent(input[[all_images_ID[1]]], {
showModal(modal_dialog_function(1))
}, ignoreInit = TRUE)
在闪亮的服务器中 500 次。
我已经尝试使用,,但它不起作用。map
walk
for loops
有什么想法吗?我正在尝试创建一个文件并创建此代码 500 次,仅更改字符中的值,然后传入闪亮作为源。
但它不起作用......
有什么帮助吗?
答:
4赞
Limey
11/17/2023
#1
不要粘贴。使用模块和系列函数。这是一个最小的演示,它也应该帮助你解决你的另一个问题......apply
library(shiny)
buttonUI <- function(id) {
ns <- NS(id)
actionButton(ns("button"), "Click me!")
}
buttonServer <- function(id) {
moduleServer(
id,
function(input, output, session) {
observeEvent(input$button, {
showModal(
modalDialog(
paste0("I am button ", id),
title = "You clicked me!"
)
)
})
}
)
}
ui <- fluidPage(
tagList(lapply(1:500, buttonUI))
)
server <- function(input, output, session) {
for (i in 1:500) {
buttonServer(i)
}
}
shinyApp(ui = ui, server = server)
评论
0赞
JohnBones JohnBones
11/21/2023
谢谢。有必要使用功能吗?tagList
评论