Snackbar Vuetify-超时后覆盖方法

时间:2018-10-30 21:17:30

标签: javascript vue.js vuejs2 vuetify.js snackbar

我想问你如何定义在this.props.updateEvent()之后执行的方法?在updateEvent() { const { event } = this.state; let newDate = moment(this.state.event.date).format("YYYY-MM-DDTkk:mm:ss.SSS"); this.setState({ event: { ...this.state.event, date: newDate, } }, () => { this.props.updateEvent(this.props.event.id, this.state.event); }); } 之后,我想执行timeout事件,但是我不知道该怎么做...

timeout

https://vuetifyjs.com/en/components/snackbars

2 个答案:

答案 0 :(得分:2)

根据文档,该属性没有任何事件,但是我将提供一种响应您的用例的解决方案,将timeout属性添加到您的数据对象中,如下所示:

   data(){
         return{
          snackbar:false,
         timeout:6000,
          ....
         }
    }

向按钮单击添加事件处理程序:

     <v-btn  block
    color="primary" dark
    @click="showSnackbar">
    Show Snackbar
    </v-btn>

在您的方法中添加showSnackbar方法

    methods:{
         showSnackbar(){
           this.snackbar=true;
           setTimeout(() => { this.$emit("yourEvent"); },this.timeout);
           }
       }

我在此pen

中模拟了您的情况

答案 1 :(得分:2)

您还可以使用观察者。注意snackbar === false,然后执行功能。