Vuejs - 在输入时,运行 一个函数(但有延迟)

Vuejs - On input, run a function (but with a delay)

我有一个输入字段,v-on:input 它运行一个名为 activate 的方法,如下所示:

export default: {
    data() {
        return {
            isHidden: true
        }
    },
    methods: {
        activate() {
            this.isHidden = false;
        }
    }
}

isHidden 变成 on/off 一些图标(这个数据 属性 是什么并不重要;我只是用它来举例)。

所以目前,当用户执行 input 时,它会立即打开 activate 功能。有没有办法通过 setTimeout 延迟它?我已尝试执行以下操作,但它不起作用:

methods: {
    setTimeout(function() {
        activate() {
            this.isHidden = false;
        }
    }, 500)
}

试试这个:

methods: {
  activate() {
    setTimeout(() => this.isHidden = false, 500);
  }
}

或没有箭头功能:

methods: {
    activate() {
        var that = this;
        setTimeout(function() { that.isHidden = false; }, 500);
    }
}