vue.js - 禁用按钮直到响应 VUE

标签 vue.js vuejs2 axios

按钮:

<v-button
    class='btn'
    :isLoading='isLoading'
    @click.prevent='sendRequest'
  >
    Search
</v-button>

方法:

sendRequest() {
  this.formatError = false;
  this.$validator.validateAll().then(result => {
    if (result) {
      this.isLoading = true;
      request
        .get('/api/shop/search', { params: { q: this.queryString } })
        .then(res => {
          this.isLoading = false;
          if (res.data) {
            this.$emit('ReceivedResponse', res.data);
          }
        })
        .catch(() => (this.isLoading = false));
    }
  });
}

我们需要在按钮上挂起禁用状态,直到得到答案。 (防止多次请求)

我不知道如何挂起禁用。 在 sendRequest() { 之后,我需要类似 this.BTN =disableTrue 的东西,当我得到答案时,在 .then 中我需要更改this.BTN =disableFalse? 但如何才能让按钮控制禁用呢?

最佳答案

尝试

    <v-button
       class='btn'
       :disabled='isLoading'
       @click='sendRequest'
  >
    Search
</v-button>

关于vue.js - 禁用按钮直到响应 VUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69252258/

相关文章:

javascript - CSS 在产品中不起作用。 Vue.js、Tailwind 和 Netlify

typescript - 从方法访问 vue 组件中的数据

vue.js - 有没有办法在 Gridsome 的布局中引用 MetaInfo?

laravel - 子路由仍然只加载父组件

javascript - VueJS2:如果值相同,则复选框和切换元素可见性

javascript - Vuejs :ajax validation error messages not displaying

vue.js - vuejs如何使用v-for只迭代数组的一部分

javascript - axios 未在 vue js cli 中定义

javascript - 使用 ReactJS 发布表单时出现网络错误

vue.js - Vue CLI - 编译后将配置文件保留为外部