gpt4 book ai didi

r - 具有特征 "remove all-at-once"的 Shiny selectizeInput

转载 作者:行者123 更新时间:2023-12-03 19:25:59 25 4
gpt4 key购买 nike

示例:

以下 Shiny 的例子app.R文件包含 selectizeInput用户界面。可以使用 options = list(plugins= list('remove_button')) 删除选定的元素.

enter image description here

library(shiny)
library(dplyr)

ui= fluidPage(
sidebarLayout(
sidebarPanel(
selectizeInput(inputId= "cyl", label= "cyl",
choices= sort(unique(mtcars$cyl)),
selected= sort(unique(mtcars$cyl)),
multiple=T,
options = list(plugins= list('remove_button')))
),
mainPanel(
tableOutput("tab")
)
)
)

server= function(input, output) {
df_filtered= reactive({
mtcars %>%
{if (is.null(input$cyl)) . else filter(., cyl %in% input$cyl)}
})
output$tab= renderTable(df_filtered())
}

shinyApp(ui, server)

问题:

是否有一个可以在 Shiny 中访问的 selectize.js 选项,它添加了一个“一次性删除”功能,而不是示例中所示的“一个一个删除”?

我研究了 selectize.js docu但卡住了。

最佳答案

我认为四处走动的解决方案是使用 reset_button ,然而 selected=选项应该更改为最小(一个选项?)因为它是重置值

library(shiny)
library(shinyjs)
library(dplyr)

ui= fluidPage(
sidebarLayout(
sidebarPanel(
useShinyjs(),
div(id = "form",
selectizeInput(inputId = "cyl",
label = "cyl",
choices = sort(unique(mtcars$cyl)),
selected=sort(unique(mtcars$cyl))[1], multiple=TRUE)),
actionButton("reset_input", "Reset")
),
mainPanel(
tableOutput("tab")
)
)
)

server= function(input, output) {

observeEvent(input$reset_input, {
shinyjs::reset("form")
})

df_filtered= reactive({
mtcars %>%
{if (is.null(input$cyl)) . else filter(., cyl %in% input$cyl)}
})
output$tab= renderTable(df_filtered())
}

shinyApp(ui, server)

Reset 后按钮,全部 selected值立即清除, selectizeInput 的主要值被退回。

关于r - 具有特征 "remove all-at-once"的 Shiny selectizeInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42177434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com