我正在尝试实现YUI's AutoComplete窗口小部件,但我无法让它显示我想要的内容。
这是拉取JSON对象的调用
var dataSource = new Y.DataSource.IO({
source: '/search'
});
Y.one('#search-string').plug(Y.Plugin.AutoComplete, {
resultHighlighter: 'phraseMatch',
resultTextLocator: 'response',
requestTemplate: '?search-string={query}',
source: ACDataSource,
maxResults: 5
}
但整个对象显示在我的自动填充框
中{
"content": [
{
"name": "Billy Bob",
"id": 155,
"address": "123 Little Billy Ln",
}
}
我只是试图显示“名称”值,而不是整个对象。有什么想法吗?
答案 0 :(得分:0)
您需要设置resultListLocator
并正确设置resultTextLocator
。从文档
AutoComplete自动知道如何处理结果 作为一个简单的数组,它需要一些额外的信息才能 找到隐藏在对象层次结构中的结果数组。那是 resultListLocator配置属性的来源。
和
可以使用resultTextLocator配置属性来判断 自动完成如何在单个结果对象中查找某些文本, 很像resultListLocator属性告诉AutoComplete如何 在响应对象中查找结果数组。
顺便说一句,您似乎错误地输入了JSON - 数组未关闭。假设内容是结果数组
resultListLocator: 'content',
resultTextLocator: 'name',
应该让它运作