Vue.js Vue+;Vuetify提交表单和GET方法传递空值

Vue.js Vue+;Vuetify提交表单和GET方法传递空值,vue.js,vuetify.js,Vue.js,Vuetify.js,我的代码有问题。我找不到提交表单时GET参数为空的原因 我试图实现的是在验证后提交表单并重定向到。有可能吗?或者我需要将其字符串化,然后使用window.location 我是Vue的新手,但找不到解决方案的互联网,所以我想这与我的代码有关 <template> <ValidationObserver v-slot="{ valid }" ref="getanoffer"> <v-form class="form fo

我的代码有问题。我找不到提交表单时GET参数为空的原因

我试图实现的是在验证后提交表单并重定向到。有可能吗?或者我需要将其字符串化,然后使用window.location

我是Vue的新手,但找不到解决方案的互联网,所以我想这与我的代码有关

<template>
    <ValidationObserver v-slot="{ valid }" ref="getanoffer">
        <v-form
            class="form form--getanoffer"
            ref="form"
        >
            <ValidationProvider
                rules="required"
                v-slot="{ errors }"
                name="service"
            >
                <v-select
                    v-model="service"
                    name="service"
                    :items="services"
                    placeholder="Select Service"
                    :error-messages="errors"
                    solo
                ></v-select>
            </ValidationProvider>

            <ValidationProvider
                rules="required"
                v-slot="{ errors }"
                name="property_type"
            >
                <v-select
                    v-model="property_type"
                    :items="property_types"
                    name="property_types"
                    item-text="name"
                    item-value="id"
                    placeholder="Select Property Type"
                    :error-messages="errors"
                    solo
                ></v-select>
            </ValidationProvider>

            <v-btn
                color="primary"
                width="100%"
                @click="validate"
                class="v-btn--submit v-btn--no-gutter"
                :loading="loading"
                :disabled=" ! valid"
            >
                Continue
            </v-btn>
        </v-form>
    </ValidationObserver>
</template>

<script>
  import {ValidationProvider, ValidationObserver} from "vee-validate";

  export default {
    components: {
      ValidationProvider,
      ValidationObserver,
    },
    data() {
      return {
        service: null,
        property_type: null,
        form: {

        },
        loading: false,
      }
    },
    props: {
      services: {
        type: Array,
      },
      property_types: {
        type: Array,
      }
    },
    methods: {
      async validate() {
        let form = await this.$refs.getanoffer.validate();

        if (form) {
          this.loading = true;
          this.submit();
          this.$refs.form.$el.submit();
        }
      },

      submit() {

      }
    }
  }
</script>

继续
从“vee validate”导入{ValidationProvider,ValidationObserver};
导出默认值{
组成部分:{
ValidationProvider,
验证观察者,
},
数据(){
返回{
服务:空,
属性类型:null,
表格:{
},
加载:false,
}
},
道具:{
服务:{
类型:数组,
},
物业类别:{
类型:数组,
}
},
方法:{
异步验证(){
让form=等待此操作。$refs.getanoffer.validate();
如有需要(表格){
这是。加载=真;
这个。提交();
此.$refs.form.$el.submit();
}
},
提交(){
}
}
}

让您简化代码

您可以将
type=“submit”
添加到按钮中,而不是在单击按钮时调用
validate()
,并在表单中添加
@submit:prevent=“validate”
。这并不能解决问题,但允许您使用Enter提交,每个提交按钮都将触发验证

现在是解决方案

1-要导航到外部作用域,可以使用windows.open()。Vuetify允许您导航到url,但必须将href置于按钮上并手动控制它

windows.open('http://someurl.com/')

JavaScript标准规定,应该对js变量使用camelCase(this.propertyType)