我有结构化数据,其中包含各种类型的数据。为了简单起见,假设我有这样的事情:
{
person : [
{
name : 'paul',
title : 'prof',
profession : 'teacher',
start: '2010-10-10'
},
{
name : 'joe',
title : 'dr',
profession : 'scientist',
start: '2000-01-01'
}
]
book : [
{
title : 'the cat in the hat'
}
]
}
我想在 javascript 中有一个自动完成框,让我可以选择这些结构化元素的名称,以便在输入的字母下返回以下结果:
't' : {'person.title', 'book.title'}
'p' : {'person', 'person.profession'}
对我来说重要的是该人可能知道树中任何变量的名称。因此,如果他们输入顶级变量的名称,我只想显示一个且没有一个是子元素,但如果他们输入子元素的名称,我想要该子元素的完整路径显示。如果他们输入顶级变量(“人”),我不想显示所有子元素,只显示始终以同一组字母开头的子元素。
与普通的自动完成相比,目前是否有任何库可以做到这一点(提供一种对结构化数据进行自动完成的方法)?
澄清:我想我需要的是能够告诉自动完成库一个输入和输出映射以使用,这样输入“p”最终会点击输入“人”和“职业”并因此返回“person”和“person.profession”,输入“t”会命中“person.title”的“title”和“book.title”的“title”。