Node.js meteor typeahead:列表和选择
我已经通过npm安装了meteor typeahead。 我还安装了Node.js meteor typeahead:列表和选择,node.js,meteor,Node.js,Meteor,我已经通过npm安装了meteor typeahead。 我还安装了 meteor add sergeyt:typeahead 从 我试图让数据源属性示例发挥作用,以便在用户开始键入时显示国家列表。我已将所有国家/地区插入收藏: Country = new Meteor.Collection('country'); 该集合已发布并订阅 在输入字段中键入时,不会显示任何建议。这与激活API有关吗?如果是这样,我该怎么做?请参考网站 我的表单如下所示: <template name="cr
meteor add sergeyt:typeahead
从
我试图让数据源属性示例发挥作用,以便在用户开始键入时显示国家列表。我已将所有国家/地区插入收藏:
Country = new Meteor.Collection('country');
该集合已发布并订阅
在输入字段中键入时,不会显示任何建议。这与激活API有关吗?如果是这样,我该怎么做?请参考网站
我的表单如下所示:
<template name="createpost">
<form class="form-horizontal" role="form" id="createpost">
<input class="form-control typeahead" name="country" type="text" placeholder="Country" autocomplete="off" spellcheck="off" data-source="country"/>
<input type="submit" value="post">
</form>
</template>
为了使您的输入提前完成,您需要:
- 模板呈现事件处理程序中的Meteor.typeahead调用
- Meteor.typeahead.inject调用为页面上可用的CSS选择器匹配的元素激活typeahead插件(请参阅)
在模板中尝试以下方法:
<input type="text" name="country" data-source="country"
data-template="country" data-value-key="name" data-select="selected">
及
谢谢Sergeyt,我将完成您提到的步骤;密码?对不起,我很困惑。我该如何称呼它?在DOM就绪事件中调用它,即使用Meteor.startup(演示应用程序有一个)。或者在模板呈现的事件处理程序中调用它。如何定义选择器?我把Meteor.typeahead.inject(选择器)放在前面;进入服务器启动。我收到以下消息,ReferenceError:selector未定义。如果您在github上创建一个文件,并使用专门针对该函数的代码,这会不会太过分?这可能使我更容易查看代码并了解发生了什么。@CodeCandy Meteor.typeahead.inject应该在客户端内部调用,因为Meteor.typeahead包只在浏览器环境中工作。
<input type="text" name="country" data-source="country"
data-template="country" data-value-key="name" data-select="selected">
<template name="country">
<p>{{name}}</p>
</template>
Template.createpost.rendered = function() {
Meteor.typeahead.inject();
}
Template.createpost.helpers({
country: function() {
return Country.find().fetch().map(function(it){
return {name: it.name};
});
},
selected: function(event, suggestion, datasetName) {
console.log(suggestion); //or anything what you want after selection
}
})