You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R Shiny中声明自定义标签?报错求助

解决R Shiny自定义HTML标签报错的方法

错误原因是tags$my-tag的写法违反了R语法规则——R对象名称不允许包含连字符,这里的my-tag会被解析成tags$my减去tag,导致调用tag()函数时参数传递错误。

以下是两种可行的解决办法:

方法一:直接使用tag()函数

tag()函数支持直接传入带连字符的自定义标签名,是创建自定义HTML标签最直接的方式:

library(shiny)

ui <- fluidPage(
  titlePanel("Test"),
  tag("my-tag", id = "my-tag")
)

server <- function(input, output) {

}

shinyApp(ui = ui, server = server)

方法二:给自定义标签添加驼峰式别名

如果习惯使用tags$的调用风格,可以给带连字符的标签创建一个驼峰式别名,添加到tags对象后再调用:

library(shiny)

# 为自定义标签创建驼峰式别名
tags$myTag <- function(...) {
  tag("my-tag", ...)
}

ui <- fluidPage(
  titlePanel("Test"),
  tags$myTag(id = "my-tag")
)

server <- function(input, output) {

}

shinyApp(ui = ui, server = server)

两种方法最终都会在页面中生成<my-tag id="my-tag"></my-tag>这个自定义HTML标签,解决报错问题。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 06:24:53