Shiny应用实现手机相册式图片选择标记功能需求
Shiny应用:图片相册式点击选择与标记功能实现
我开发了一款可加载图片的Shiny应用,需要实现类似手机相册的图片点击选择与标记功能——点击图片即可选中并记录选中状态。目前我实现的逻辑是:选中图片时将其替换为空图标,以下是我的尝试代码:
ui <- fluidPage(column( width=9, align="center", imageOutput(outputId = "img1", click = clickOpts(id = "img1_click", clip = FALSE),width = 150,height = 150,inline = TRUE) ,imageOutput(outputId = "img2", click = clickOpts(id = "img2_click", clip = FALSE),width = 150,height = 150,inline = TRUE) )) server <- function(input, output, session) { empty_img <- "/empty.jpeg" vals <- reactiveValues(img = list.files("/images/")) vals2 <- reactiveValues(img = list.files("/images/")) empty_img_to_normal_value <- reactiveValues(m = 1:length(vals$img)) output$img1 <- renderImage({ list(src = vals$img[1], width = "200", height = "200") }, deleteFile = FALSE) observeEvent(input$img1_click, { if(empty_img_to_normal_value$m[1] == 1){ vals$img[1] <- empty_img empty_img_to_normal_value$m[1] <- 0 } else { vals$img[1] <- vals2$img[1] empty_img_to_normal_value$m[1] <- 1 } }) output$img2 <- renderImage({ list(src = vals$img[2], width = "200", height = "200") }, deleteFile = FALSE) observeEvent(input$img2_click, { if(empty_img_to_normal_value$m[2] == 1){ vals$img[2] <- empty_img empty_img_to_normal_value$m[2] <- 0 } else { vals$img[2] <- vals2$img[2] empty_img_to_normal_value$m[2] <- 1 } }) }
内容的提问来源于stack exchange,提问作者tannaz hasanzadeh
相关产品推荐
相关产品推荐

