Html 错误:对象被提供为'children',而不是组件、字符串或数字(或它们的列表)

Html 错误:对象被提供为'children',而不是组件、字符串或数字(或它们的列表),html,r,plotly,plotly-dash,plotly-dashr,Html,R,Plotly,Plotly Dash,Plotly Dashr,我似乎不明白为什么这个错误会在开发者控制台中出现。该脚本在R中运行得很好,以前也运行过。我记得从脚本中删除了回调,但仅此而已。下面是包含应用程序布局html部分的R脚本。有人能帮忙吗 app$layout( htmlDiv( children = list( htmlDiv( list( htmlDiv( list( htmlH3( "Mate

我似乎不明白为什么这个错误会在开发者控制台中出现。该脚本在R中运行得很好,以前也运行过。我记得从脚本中删除了回调,但仅此而已。下面是包含应用程序布局html部分的R脚本。有人能帮忙吗

app$layout(
  htmlDiv(
    children = list(
      htmlDiv(
        list(
          htmlDiv(
            list(
              htmlH3(
                "Maternal Health Dashboard",
                style=list("margin-bottom"= "0px",
                           "text-align" = "center")
              )
            )
          )
        ),
        className="row flex-display",
        id="title",
        style=list("margin-bottom"= "25px")
      ),
      htmlDiv(
        list(
          htmlP("Tabs", className="tabs"),
          dccRadioItems(
            id="tab_buttons",
            options = list(
              list("label"= "General", "value"= "general"),
              list("label"= "Antenatal", "value"= "antenatal_risk"),
              list("label"= "Postnatal ", "value"= "postnatal_details"),
              list("label"= "LBW Child ", "value"= "LBW_details")
            ),
            value="general",
            labelStyle=list("display"= "inline-block","text-align" = "center"
            ),
            className="dcc_control"
          )
        )
      ),
      htmlDiv(
        id = "map-container",
        list(
          htmlP("Map of Maternal Health",
                id = "map-title",
          ),
          dccGraph(figure=fig
          )
        )
      ),
      htmlDiv(
        list(
          htmlP("Total GP "),
          htmlP("Total Sub Centers  "),
          htmlP("Total Villages "),
          htmlP("Total Beneficiary Women  "),
          htmlP("Total Postnatal Women  "),
          htmlP("Total Neonatal Women   ")
        ),
        style= list("display"= "flex","border"= "2px solid powderblue","white-space" = "normal", "justify-content" = "space-around"),
        id="info-container",
        className="row container-display"
      ),
      htmlDiv(
        id = "graph-container",
        list(
          htmlP(id="chart-selector",
                children = "Select chart:"
          ),
          dccDropdown(
            options = list(list("label"= "Total number of infants per Woman ",
                                "value"= "show_absolute_deaths_single_year"),
                           list("label"= "COVID-19 Cases",
                                "value"= "absolute_deaths_all_time"),
                           list("label"= "Total number of post-natal immunizations",
                                "value"= "show_death_rate_single_year"),
                           list("label"= "",
                                "value"= "death_rate_all_time")),
            value="show_death_rate_single_year",
            id="chart-dropdown"
          ),
          dccGraph(
            id = "selected-data"
          )
        )
      ),
      id="mainContainer",
      style = list(
        "position" = "relative",
        "box-sizing" =  "border-box"
      )
    )))


app$run_server()

我用Python编写Dash,而不是R,但我怀疑这些行为非常相似,因此您的问题来自以下两个方面:

htmlDiv(
id=“映射容器”,
名单(
htmlP(“产妇健康地图”,
id=“地图标题”,
),
dccGraph(图=图
)
)
),
htmlDiv(
id=“图形容器”,
名单(
htmlP(id=“图表选择器”,
children=“选择图表:”
),
dccDropdown(
选项=列表(列表(“标签”=“每位妇女的婴儿总数”,
“值”=“显示绝对死亡人数单年人数”),
列表(“标签”=“新冠病毒-19病例”,
“值”=“绝对死亡时间”),
列表(“标签”=“产后免疫接种总数”,
“值”=“显示死亡率单年”),
列表(“标签”=”,
“值”=“死亡率”,
value=“显示每一年的死亡率”,
id=“图表下拉列表”
),
dccGraph(
id=“所选数据”
)
)
),
默认情况下,仪表板组件希望
子项
道具是传入的第一个道具。在这些情况下,您首先提供了
id
,但没有显式地设置
children=
,因此它不知道如何处理该组件。要么显式地将它们设置为
子对象
,要么将它们设置为组件的第一项