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

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

isHidden打开/关闭一些图标(这个数据属性是什么并不重要,我只是出于示例目的使用它).

因此,当前,当用户执行input时,它会立即打开activate功能.有没有办法通过setTimeout将其延迟?我试过做以下几件事,但都不管用:

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

推荐答案

试试这个:

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

Vue.js相关问答推荐

获取深度嵌套对象时无法读取空/未定义的属性

V-img不显示文件夹中的图像

Vue ChildComponent (GrandchildComponent) 应该更新 ParentComponent 的列表

Vue.js编译的render函数不起作用

如何在 Vuetify 2 中的轮播项目上放置 href 属性?

如何防止Nuxt3重新加载时滚动跳到网页顶部

视图中的 vue 样式不适用于 html

当用户在嵌套路由中时激活链接

即使响应为 200,也会调用 Axios Catch

在 vue.js 中获取当前时间和日期

一个 div 组件中的 Vue.js 2.0 路由链接

Nuxt & Vuetify:如何控制 CSS 文件的加载顺序?

更新 v-for 中使用的数组内的对象时,Vue js react性问题

如何在 Vue.js 中获取组件元素的 offsetHeight?

为 webpack HMR Vue.js 包含来自外部项目文件夹的可导入模块

如何更改 Vuetify 日历日期格式

所有 vue props和数据都给出错误 Property属性在 type 上不存在,带有 typescript

模块构建失败:错误:没有给出解析器和文件路径,无法在 nuxtjs 中推断出解析器

是否有 v-cloak 逆?

Vue.js react性如何在幕后工作?