理解ShinySky for Shiny

时间:2016-03-31 21:08:53

标签: shiny shinysky

我知道我在问一个关于R包的问题,​​这个问题并不是很清楚(只有5个标签......其中一个来自我之前的问题),但我还是希望我可以在这里开一个讨论。

我已阅读Shinysky软件包中textinput.typeahead的文档。但是,文档留下了不少问题。

我正在尽力通过example来了解如何使用它:

textInput.typeahead(
        id="thti"
        ,placeholder="type 'name' or '2'"
        ,local=data.frame(name=c("name1","name2"),info=c("info1","info2"))
        ,valueKey = "name"
        ,tokens=c(1,2)
        ,template = HTML("<p class='repo-language'>{{info}}</p> <p class='repo-name'>{{name}}</p> <p class='repo-description'>You need to learn more CSS to customize this further</p>")
  

用法

     

textInput.typeahead(id,placeholder,local,valueKey,tokens,template,     limit = 20)

     

updateTextInput.typeahead(session,id,dataset,valueKey,tokens,template,     limit = 20,占位符=&#34;&#34;)

第一个问题:没有讨论这两种方法实际上有什么区别。有什么区别,为什么有人想选择一个而不是另一个呢?

  

参数

     

令牌
  一个长度等于nrow(local)的列表,其中每个元素都是字符串标记数组。键入令牌将选择相应的行

这里突然出现的第一件事(除了错误的#39;相应的&#39;)是令牌应该是一个列表。但是当我查看提供here的示例时,参数会显示,tokens=c(1,2)。这是一个向量,而不是列表。

即使矢量没问题,我也不确定这是做什么的。 Typing the tokens will select the correponding rows。这是否意味着我必须明确告诉shinysky在哪里查看以填充typeahead?

  

模板
  关于如何显示内容的hogan模板,例如&#39;&LT; p>名称&lt; / p&gt;&#39;其中name是本地

中的变量之一

因此,我不仅需要使用列表或向量显示typeahead在哪里查看行,而且我需要向其显示要查看的列。它是否正确?如果是,为什么该示例显示2个列名:{info}{name}

  

限制
  类型下拉列表中显示的匹配数上限的整数

这如何影响将所有值加载到预先输入的内存需求?

无论如何,感谢你阅读这篇文章。我希望我们能够弄清楚如何在这个软件包中最好地使用这个工具。

1 个答案:

答案 0 :(得分:0)

以下是我的理解:

  1. textInput.typeahead vs updateTextInput.typeahead
  2. 这与textInputupdateTextInput相同,一个是初始化新输入,另一个是更新现有输入

    1. 令牌
    2. 是的,它接受一个向量。我认为这就像数据框的每一行的快捷方式或rowname。因此,如果您键入rowname(或行号),它会显示您想要的行。

      1. 模板
      2. 您可以自定义数据每行的提示框中显示的内容。因此,此处的示例仅显示name列,但您可以选择显示任何您喜欢的列

        1. 限制
        2. 这可能只是控制要显示的行数。我想所有的数据帧都需要在内存中。