1

有谁知道如何在此方法的去抖动之前执行 this.isLoading = true ?

它应该是一个加载微调器,在通过 axios 进行异步调用时将被动画化。

    methods: {
        searchAdminUsers: _.debounce(function(query) {
            this.isLoading = true       
            axios.get('api/searchEmployees?format=json', { params: { q:query } })
            .then(response => {
                let data = response.data.map(item => (
                    { text: `${item.FIRSTNAME} ${item.LASTNAME} - ${item.POSITION}`, id: item.ID }
                ))
                this.options = data
                this.isLoading = false
          })
          .catch(error => {
            console.log(error)
          })
        }, 250)
    }
4

1 回答 1

4

创建另一个更改this.isLoading的方法,并调用 debounces 方法。

methods: {
    wrapSearchAdminUsers(query) {
      this.isLoading = true

      this.searchAdminUsers(query)
    }

    searchAdminUsers: _.debounce(function(query) {
        axios.get('api/searchEmployees?format=json', { params: { q:query } })
        .then(response => {
            let data = response.data.map(item => (
                { text: `${item.FIRSTNAME} ${item.LASTNAME} - ${item.POSITION}`, id: item.ID }
            ))
            this.options = data
            this.isLoading = false
      })
      .catch(error => {
        console.log(error)
      })
    }, 250)
}
于 2017-10-13T08:03:53.490 回答