美文网首页
Vue中如何使用debouce防抖函数

Vue中如何使用debouce防抖函数

作者: 太_2_真_人 | 来源:发表于2021-12-02 19:00 被阅读0次

    创建一个 debounced(防抖动)函数,该函数会从上一次被调用后,延迟 wait 毫秒后调用 func 方法。 debounced(防抖动)函数提供一个 cancel 方法取消延迟的函数调用以及 flush 方法立即调用。 可以提供一个 options(选项) 对象决定如何调用 func 方法,options.leading 与|或 options.trailing 决定延迟前后如何触发(注:是 先调用后等待 还是 先等待后调用)。 func 调用时会传入最后一次提供给 debounced(防抖动)函数 的参数。 后续调用的 debounced(防抖动)函数返回是最后一次 func 调用的结果。

    Lodash debouce参数

    1. func (Function) : 要防抖动的函数。
    2. [wait=0] (number) : 需要延迟的毫秒数。
    3. [options=] (Object) : 选项对象。
    4. [options.leading=false] (boolean) : 指定在延迟开始前调用。
    5. [options.maxWait] (number) : 设置 func 允许被延迟的最大值。
    6. [options.trailing=true] (boolean) : 指定在延迟结束后调用。
    <template>
        <el-input
            v-model="value"
            size="mini"
            placeholder="请输入.."
            clearable
            @keydown.enter="handleSearch"
          ></el-input>
    </template>
    <script>
    import _ from 'lodash'
    export default {
        data() {
            return { value: '' }
        },
        create() {
            this.handleSearch = _.debounce(() => {
              // 获取列表
              this.getList();
            }, 300);
        },
        beforeDestroy() {
            // 取消该函数的防抖动调用
            this.handleSearch.cancel();
        },
    }
    </script>
    

    相关文章

      网友评论

          本文标题:Vue中如何使用debouce防抖函数

          本文链接:https://www.haomeiwen.com/subject/zgcuxrtx.html