使用 updatePrettyCheckboxGroup 时不应用 prettyCheckboxGroup 的格式化选项
Formatting options for prettyCheckboxGroup are not applied when using updatePrettyCheckboxGroup
我正在编写一个闪亮的应用程序,其中 prettyCheckboxGroup
选项由用户上传的 .csv 文件填充。如果我手动设置 choices
(例如“A”、“B”、“C”),那么我可以更改 status
、shape
、outline
等。但是,如果我在我的服务器代码中使用基于 observeEvent
的 updatePrettyCheckboxGroup
,那么结果就是默认样式。
ui <- navbarPage("Tabbed page",
tabPanel("Works",
prettyCheckboxGroup(
inputId = "Id001",
label = "Checkboxes with status",
choices = c("A", "B", "C"),
inline = TRUE,
status = "danger",
shape = "round"),
),
tabPanel("Doesn't Work",
fileInput("Line_Dataset", label = "Choose Data"),
prettyCheckboxGroup(
inputId = "Broken",
label = "Checkboxes with status",
choices = NULL,
inline = TRUE,
status = "danger",
shape = "round"),
)
)
server <- function(input, output, session) {
LineFile <- eventReactive(c(input$Line_Dataset), {
read_csv(input$Line_Dataset$datapath, col_names = T)
})
observeEvent(input$Line_Dataset,
{elements_line_data <- LineFile() %>%
colnames()
updatePrettyCheckboxGroup(session,
"Broken",
choices = elements_line_data)
})
}
shinyApp(ui,server)
在使用 updatePrettyCheckboxGroup 时,我应该把 status
和 shape
参数放在哪里?他们需要进入服务器文件吗?
请注意,我尝试使用 awesomeCheckboxGroup
和 update...
时得到了相同的结果,但由于格式选项的数量,我选择使用 pretty。
谢谢,
杰里米
P.S。很抱歉没有提供 .csv,但任何文件都可以使用
编辑:问题的屏幕截图。我希望“不起作用”选项卡中的复选框按钮看起来与“有效”中的按钮相同。
函数updatePrettyCheckbox()
无法传递状态和形状参数,因此生成正确复选框的唯一选择是直接使用renderUI()
。无论如何,问题是因为调用 updatePrettyCheckbox()
时这两个参数不存在,所以重新呈现默认格式。
library(shiny)
library(shinyWidgets)
library(tidyverse)
ui <- navbarPage("Tabbed page",
tabPanel("Works",
prettyCheckboxGroup(
inputId = "Id001",
label = "Checkboxes with status",
choices = c("A", "B", "C"),
inline = TRUE,
status = "danger",
shape = "round")
),
tabPanel("Doesn't Work",
fileInput("Line_Dataset", label = "Choose Data"),
uiOutput('download_with_prettychbx')
)
)
server <- function(input, output, session) {
LineFile <- eventReactive(c(input$Line_Dataset), {
read_csv(input$Line_Dataset$datapath, col_names = T,)
})
observeEvent(input$Line_Dataset, {
elements_line_data <- LineFile() %>%
colnames()
output$download_with_prettychbx <- renderUI({
tagList(
prettyCheckboxGroup(
inputId = "Broken",
label = "Checkboxes with status",
choices = LineFile(),
inline = TRUE,
status = "danger",
shape = "round")
)
})})
}
shinyApp(ui,server)
我正在编写一个闪亮的应用程序,其中 prettyCheckboxGroup
选项由用户上传的 .csv 文件填充。如果我手动设置 choices
(例如“A”、“B”、“C”),那么我可以更改 status
、shape
、outline
等。但是,如果我在我的服务器代码中使用基于 observeEvent
的 updatePrettyCheckboxGroup
,那么结果就是默认样式。
ui <- navbarPage("Tabbed page",
tabPanel("Works",
prettyCheckboxGroup(
inputId = "Id001",
label = "Checkboxes with status",
choices = c("A", "B", "C"),
inline = TRUE,
status = "danger",
shape = "round"),
),
tabPanel("Doesn't Work",
fileInput("Line_Dataset", label = "Choose Data"),
prettyCheckboxGroup(
inputId = "Broken",
label = "Checkboxes with status",
choices = NULL,
inline = TRUE,
status = "danger",
shape = "round"),
)
)
server <- function(input, output, session) {
LineFile <- eventReactive(c(input$Line_Dataset), {
read_csv(input$Line_Dataset$datapath, col_names = T)
})
observeEvent(input$Line_Dataset,
{elements_line_data <- LineFile() %>%
colnames()
updatePrettyCheckboxGroup(session,
"Broken",
choices = elements_line_data)
})
}
shinyApp(ui,server)
在使用 updatePrettyCheckboxGroup 时,我应该把 status
和 shape
参数放在哪里?他们需要进入服务器文件吗?
请注意,我尝试使用 awesomeCheckboxGroup
和 update...
时得到了相同的结果,但由于格式选项的数量,我选择使用 pretty。
谢谢, 杰里米
P.S。很抱歉没有提供 .csv,但任何文件都可以使用
编辑:问题的屏幕截图。我希望“不起作用”选项卡中的复选框按钮看起来与“有效”中的按钮相同。
函数updatePrettyCheckbox()
无法传递状态和形状参数,因此生成正确复选框的唯一选择是直接使用renderUI()
。无论如何,问题是因为调用 updatePrettyCheckbox()
时这两个参数不存在,所以重新呈现默认格式。
library(shiny)
library(shinyWidgets)
library(tidyverse)
ui <- navbarPage("Tabbed page",
tabPanel("Works",
prettyCheckboxGroup(
inputId = "Id001",
label = "Checkboxes with status",
choices = c("A", "B", "C"),
inline = TRUE,
status = "danger",
shape = "round")
),
tabPanel("Doesn't Work",
fileInput("Line_Dataset", label = "Choose Data"),
uiOutput('download_with_prettychbx')
)
)
server <- function(input, output, session) {
LineFile <- eventReactive(c(input$Line_Dataset), {
read_csv(input$Line_Dataset$datapath, col_names = T,)
})
observeEvent(input$Line_Dataset, {
elements_line_data <- LineFile() %>%
colnames()
output$download_with_prettychbx <- renderUI({
tagList(
prettyCheckboxGroup(
inputId = "Broken",
label = "Checkboxes with status",
choices = LineFile(),
inline = TRUE,
status = "danger",
shape = "round")
)
})})
}
shinyApp(ui,server)