如何在单选按钮选择 r shiny 中使用 html

How to use html in radio button choices r shiny

我正在尝试使用 HTML 代码更新服务器端的单选按钮列表,但没有成功。
我正在使用这个例子来让你理解我想要做什么。我再次提到必须在服务器端,因为我列表中的元素将与用户的其他输入相关。

有人可以帮忙弄清楚它是如何制作的吗? 谢谢

## Only run examples in interactive R sessions
if (interactive()) {

ui <- fluidPage(
radioButtons("rb", "Choose one:",
             choiceNames = list("icon", "html", "text"),
             choiceValues = c(1,2,3)),
 textOutput("txt")
) 


server <- function(input, output,session) {


a<-HTML("<p style='color:red;'>option2</p>")
list1=as.list(c("option1",a,"option3"))

  updateRadioButtons(session, "rb", choiceNames = list1, choiceValues = c(1,2,3))



output$txt <- renderText({
  paste("You chose", input$rb)
})

}

shinyApp(ui, server)
}

您的代码中存在一些问题:

choiceValues 必须是原子向量,而不是列表

ui <- fluidPage(
  radioButtons("rb", "Choose one:",
               choiceNames = list("icon", "html", "text"),
               choiceValues = c(1,2,3)),
  textOutput("txt")
)

如果您使用 updateXXX,则必须将参数 session 设置为 server 函数:

server <- function(input, output, session) {

updateRadioButtons 你必须同时设置 choiceNameschoiceValues:

  if(TRUE){  
    list=list(icon("calendar"),
              HTML("<p style='color:red;'>Red Text</p>"),
              "Normal text"
    )
    updateRadioButtons(session, "rb", choiceNames = list, choiceValues = c(1,2,3))
  }

并且 icon 不起作用。