这个问题需要花点时间来弄清楚如何生成可重现的示例。我有一个应用程序(近四行代码),在侧边栏中有分析设置,然后是一个用于回答一组用于评估性能的问题的选项卡。完成后,用户选择和actionButton提交结果进行分析。四个选项卡用于显示结果。一旦回答了所有问题,用户就可以查看结果。如果他们选择进行更改,他们可以进行调整,结果会动态调整。
第五个标签允许用户生成屏幕上显示的html报告(在标签内)和可下载的pdf报告。
有两个问题:
1)选择actionButton并生成html报告后,它会更改整个应用的主题!我无法弄清楚是什么在控制这种行为。
2)在生成报告之前,用户可以进行更改并更新所有结果 - 正常的反应结果。生成html报告后,行为变得怪异。
a)在一个标签中有两个表,一个将被动地更新,另一个则不会。两者都使用flextable和renderUI,一切都是一样的。生成和显示的顺序无关紧要。
b)第二个结果选项卡根据未更新的表格内容创建三个图表 - 第一个图表消失且不会重新生成,其他两个图表显示但不会更新。
c)第三个选项卡再次显示由flextable和renderUI生成的表。它取决于第二个选项卡中未更新的数据。此表消失,不会更新
d)第四个选项卡是第三个选项卡的副本,但使用不同的flextable。此flextable还取决于第二个选项卡中不会更新的数据。但是第四次DOES的表格更新了!我切换了三个和四个标签的内容并获得了相同的行为,三个没有,四个没有。也许它只是更新最后一个标签?
但是为什么在rmarkdown :: render之前行为没问题,但是在运行之后不行?
两者之间应该没有联系。在server.R中生成结果并显示ui.R.对于rmarkdown,变量全部通过显式引用传递,并且使用完全相同的函数在代码块中重新生成图和表。两者之间应该没有任何行为流失。
有关如何进行的任何建议吗?