R Shiny 中文文档2.4-动态UI的创建

八月 15, 2014 R, web开发, 可视化, 编程开发 por DeanGao

前几节讲的都是如何去创建一些静态的组件和页面布局,这节讲讲如何有条件的创建UI元素(根据用户的操作来显示和隐藏某个UI元素)。在Shiny中通常有三种方法可以满足这样的要求,从简单到复杂:


转载请注明出处:网址+邮箱:
例如: 转自 
http://www.iwhgao.com (gaowenhui2012@gmail.com)


  1. 使用conditionalPanel函数,在ui.R脚本中使用,包裹着一系列的UI元素来决定动态地显示或者隐藏
  2. 使用rederUI函数,在客户端定义相应的UI元素输出区域,在服务器端使用该函数来动态的创建相应的输出output$
  3. 使用JavaScript来完成

下面依次讲解:

1. conditionalPanel

首先来看下面的例子:

即当用户勾选了名为smooth的选择框后,名为smoothMethod的下拉菜单选项才会显示出来, condition参数的赋值是R中得逻辑表达式。

 2.使用renderUI方法

Shiny文档中提到这个功能应该被视为实验性的。如何去使用它呢?

在ui.R中使用uiOutput函数来指定元素的名称和在那里显示,在server.R中使用renderUI函数来返回HTML内容,这和之前的renderPlot、renderText本质上差不多,这是这里更加明显地返回HTML tags。

3.使用JavaScript完成

这个功能也暂时是实验性的,这里不细讲了,需具备一定的JavaScript基础。

原创文章,转载请注明: 转载自deangao's blog
本文链接地址: R Shiny 中文文档2.4-动态UI的创建