理解ShinySky中用于Shiny的textInput.typeahead函数中的参数



我知道我在问一个关于R包的问题,这个包不是很清楚(只有5个标签…其中一个来自我之前的问题),但我仍然希望我能在这里展开讨论。

我已经阅读了Shinysky软件包中textinput.typeahead的文档。然而,该文档留下了相当多的问题。

我正在尽我所能通过以下例子来找出如何使用它:

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>")

用法

text输入.typeahead(id,占位符,本地,valueKey,令牌,模板,极限=20)

updateTextInput.typeahead(会话,id,数据集,valueKey,令牌,模板,limit=20,placeholder=")

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

参数

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

这里弹出的第一件事(除了"对应"的拼写错误)是标记应该是一个列表。但是,当我查看这里提供的示例时,自变量为,tokens=c(1,2)。这是一个矢量,而不是一个列表。

即使一个向量是可以的,我也不太确定它会起什么作用。Typing the tokens will select the correponding rows。这是否意味着我必须明确地告诉shinysky在哪里查找才能填充typeahead?

模板
关于如何显示内容的hogan模板,例如"<p>名称</p>'其中name是本地中的变量之一

因此,我不仅需要向typeahead显示使用列表或向量在行中查找的位置,还需要向它显示要查找的列。这是正确的吗?如果是,为什么示例显示两个列名:{info}{name}

限制
在打字下拉中显示点击次数上限的整数

这如何影响将所有值加载到typeahead中的内存需求?

不管怎样,谢谢你读到这里。我希望我们能找出如何在这个包中最好地使用这个工具。

以下是我的理解:

  1. textInput.typeaheadupdateTextInput.typeahead

这与textInputupdateTextInput相同,一个是初始化新的输入,另一个是更新现有的输入

  1. 代币

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

  1. 模板

您可以自定义每行数据的提示框中显示的内容。因此,这里的示例将只显示name列,但您可以选择显示任何您喜欢的列

  1. 限制

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

最新更新