【问题标题】:bloodhound resetting local data猎犬重置本地数据
【发布时间】:2016-10-13 14:58:56
【问题描述】:

我正在使用 Bloodhound 并尝试重置 local 选项。在我的网页上,我有一种情况,如果用户选择两个选项之一,建议数据将会改变。但是当我设置本地数据时,我无法获得建议。下面是我如何创建寻血猎犬,将其设置为使用名为“spray”的数组:

var dataSetBloodhound = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  local: spray
});

因此,如果用户选择喷雾,jQuery 会捕获它并尝试将喷雾数组设置为本地

 //If spray is picked  
        if( checked == "Spray") {
            // Clear the object
            dataSetBloodhound.clear();
            // Set the local 'data' to spray
            dataSetBloodhound.local = spray;
            // Reinit the object
            dataSetBloodhound.initialize()
            // Prints out the local data.(This prints out the data of spray)
            console.log(dataSetBloodhound.local);
            //etc }

如果用户选择肥料,则功能与上述相同,只是传递了一个fertilizer 数组。 如果我在列表中使用,我可以让它们工作,但我似乎无法交换寻血犬的本地数据。然而,在我initialize() 之后,我可以console.log(dataSetBloodhound.local) 并且可以在控制台中查看元素,但是如果我尝试从下拉列表中获得建议,它就不起作用。有什么想法吗?

【问题讨论】:

    标签: javascript jquery bloodhound


    【解决方案1】:

    我觉得你需要重新初始化,你可以设置

    if( checked == "Spray") {
            // Clear the object
            dataSetBloodhound.clear();
            // Set the local 'data' to spray
            dataSetBloodhound.local = spray;
            // Reinit the object
            dataSetBloodhound.initialize(true);
            // Prints out the local data.(This prints out the data of spray)
            console.log(dataSetBloodhound.local);
    

    请查看文档https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多