Vue输入过滤对象/数组

时间:2019-04-09 13:56:24

标签: javascript laravel vue.js

我的控制器中有一个函数,该函数只需单击一个API并从保存有group_code和group_name的对象创建一个数组。可以将group_code视为键。

我已将此绑定到我的视图,并且我有一个带有输入的vue实例,在该实例中,我试图简单地过滤对象并追加所选对象。考虑自动完成,除了对象已经加载并且我只想过滤并选择。

但是在键入之前或之后,结果没有任何显示。我希望也许我在某个地方有一个错误的变量,但是在这里我想让我输入的对象结果出现在我的无序列表中是什么?

控制器:

public function searchcategories(Request $request)
{
    $userNum = $this->user;
    $category = new categoryService();
    $safecategories = $category->info($userNum);

    $groupResult = array();

    foreach($safecategories->categories as $categories){
        $groupItem = array();
        $groupItem["group_code"] = $categories->group_code;
        $groupItem["group_name"] = $categories->group_name;

        array_push($groupResult, $groupItem);
    }

     return view('campaigns')
        ->with('groupResult', $groupResult);

}

刀片

<div id="categoryNames">
<input type="text" v-model="keywords">
<ul v-if="results.length > 0">
  <li v-for="result in results" :key="result.group_code" v-text="result.group_name"></li>
</ul>
</div>

var categoryNames = new Vue({
  data() {
    return {
      keywords: null,
      results: []
    };
  },

  computed: {
    filteredResults () {
      return this.keywords ? this.results.filter(row => row.name.search(new RegExp(`${this.keywords}`, 'i')) !== -1) : this.results
    }
  }
}).$mount('#categoryNames');

0 个答案:

没有答案