R Shiny如何修改Liabilities module标签下主面板的默认显示视图
问题解答
1. 默认显示rates表(table4)的代码位置及原因
默认显示table4是由两个按钮点击监听的observeEvent参数设置和执行顺序共同导致的:
- 你给「Liabilities」、「Rates values」两个按钮对应的
observeEvent都设置了ignoreNULL = FALSE,该参数会让监听事件在应用初始加载、按钮还未被点击时就主动触发一次 - 代码中「Rates values」按钮的监听逻辑写在「Liabilities」按钮的监听逻辑之后,初始触发时后者给
showResults$showme赋值的table3会被前者赋值的table4覆盖,因此默认显示rates表。
2. 修改为默认显示负债结构表(table3)的方法
推荐以下最稳妥的修改方案:
找到server函数中定义showResults的行,直接给showme设置初始值为table3的输出,同时删除两个observeEvent中多余的ignoreNULL = FALSE参数,修改后的代码片段如下:
# 初始化时就指定默认显示table3 showResults <- reactiveValues(showme = tagList(tableOutput("table3"))) # 去掉ignoreNULL = FALSE,只有用户点击按钮时才触发赋值 observeEvent(input$showLiabStructBtn, {showResults$showme <- tagList(tableOutput("table3"))}) observeEvent(input$showRatesValueBtn, {showResults$showme <- tagList(tableOutput("table4"))})
修改后应用启动进入「Liabilities module」标签时,就会默认显示负债结构表table3,点击其他按钮仍可正常切换展示内容。
内容的提问来源于stack exchange,提问作者Curious Jorge - user9788072
相关产品推荐
相关产品推荐

