And*_*pos 1 javascript vue.js nuxt.js vuetify.js
当我使用时,我正在使用 vuetify 进行验证data: () => ({。它没有生成任何错误。\n然后更改为,data () {return {我将得到以下错误:规则应该返回字符串或布尔值,而是收到“对象”
这是我的代码。重新加载整个页面时会生成该错误,并且不再有效
\n:rules="regla_buscar":
<template>\n <v-app>\n <v-form\n ref="form"\n v-model="form_valid"\n lazy-validation\n >\n <v-toolbar max-height="64">\n \n <v-btn icon color="indigo" to="/es/" nuxt>\n <v-icon>fas fa-filter</v-icon>\n </v-btn>\n <v-toolbar-title class="hidden-md-and-down">Red Social</v-toolbar-title>\n <v-spacer></v-spacer>\n <v-combobox\n v-model="model_categoria"\n :items="items_categoria"\n :search-input.sync="search"\n item-value="Clave"\n item-text="Nombres"\n hide-selected\n hide-details\n label="Categoria"\n persistent-hint\n small-chips\n class="mx-4 hidden-sm-and-down"\n @change="evento_categoria"\n >\n </v-combobox>\n <v-combobox\n v-model="model_pais"\n :items="items_pais"\n :search-input.sync="search"\n item-value="Clave"\n item-text="Nombres"\n hide-selected\n hide-details\n label="Pais"\n persistent-hint\n small-chips\n class="mx-4 hidden-md-and-down"\n @change="evento_pais"\n >\n </v-combobox>\n <v-text-field\n flat\n hide-details\n label="Buscar"\n prepend-inner-icon="mdi-magnify"\n single-line\n class="mx-4"\n clearable\n v-model="model_busqueda"\n v-on:keyup.enter="evento_busqueda"\n :rules="regla_buscar"\n >\n </v-text-field>\n <v-btn color="#1ebea5" dark\n to="/es/publish" nuxt\n >\n <v-icon>fas fa-upload</v-icon><div class="mx-4 hidden-sm-and-down">Publicar</div>\n </v-btn>\n \n </v-toolbar>\n </v-form>\n <v-main>\n <nuxt keep-alive />\n </v-main> \n </v-app>\n</template>\n\n<script>\n import categorias from '../archivos/Categorias';\n import paises from '../archivos/Paises';\n import sexos from '../archivos/Sexos';\n import relevancia from '../archivos/Relevancia';\n\n const clase="flag-icon flag-icon-";\n export default {\n\n data() { // <== changed this line\n return {\n form_valid: true,\n drawer: null,\n model: ['Vuetify'],\n search: null,\n icons: [\n 'fab fa-whatsapp',\n 'fab fa-facebook-f',\n 'fab fa-telegram-plane',\n 'fab fa-slack',\n 'fab fa-discord'\n ],\n model_categoria: '',\n model_pais: '',\n model_relevancia: '',\n model_busqueda:'',\n items_categoria: [],\n items_pais: [],\n items_relevancia: [],\n select: { state: 'Espa\xc3\xb1ol', abbr: 'es' },\n items: [\n { state: 'Espa\xc3\xb1ol', abbr: 'es' },\n { state: 'Ingles', abbr: 'en' },\n { state: 'Portuges', abbr: 'pr' },\n { state: 'Aleman', abbr: 'al' },\n { state: 'Frances', abbr: 'fr' },\n ],\n disabled: false,\n absolute: false,\n openOnHover: false,\n value: false,\n closeOnClick: true,\n closeOnContentClick: true,\n offsetX: false,\n offsetY: true,\n busqueda:'',\n regla_buscar: [\n v => (!v || (v && v.length > 2 && v.length <= 30)) || 'Ingresa minino 3 carateres',\n ]\n }\n },\n async fetch() {\n this.items_categoria = categorias;\n this.items_pais = paises;\n this.items_relevancia = relevancia;\n },\n methods: {\n evento_busqueda () {\n if(this.$refs.form.validate()){\n this.busqueda = this.model_busqueda;\n let parametros = this.evento_parametros();\n this.$router.push({path: '/es/', query : {\n xca:parametros.xca,\n xpa:parametros.xpa,\n xre:parametros.xre,\n xbu:parametros.xbu,\n }})\n }\n },\n evento_categoria () {\n let parametros = this.evento_parametros();\n this.$router.push({path: '/es/', query : {\n xca:parametros.xca,\n xpa:parametros.xpa,\n xre:parametros.xre,\n xbu:parametros.xbu,\n }})\n },\n evento_pais () {\n let parametros = this.evento_parametros();\n this.$router.push({path: '/es/', query : {\n xca:parametros.xca,\n xpa:parametros.xpa,\n xre:parametros.xre,\n xbu:parametros.xbu,\n }})\n },\n evento_relevancia () {\n let parametros = this.evento_parametros();\n this.$router.push({path: '/es/', query : {\n xca:parametros.xca,\n xpa:parametros.xpa,\n xre:parametros.xre,\n xbu:parametros.xbu,\n }})\n },\n evento_parametros(){\n let categoria = undefined;\n if (this.model_categoria != null){\n categoria = this.model_categoria.Clave;\n }\n let pais = undefined;\n if(this.model_pais != null){\n pais = this.model_pais.Clave;\n }\n let relevancia = undefined;\n if(this.model_relevancia != null){\n relevancia = this.model_relevancia.Clave;\n }\n if(this.busqueda == ''){\n this.busqueda=undefined\n }\n let parametros = {\n xca: categoria,\n xpa: pais,\n xre: relevancia,\n xbu: this.busqueda\n }\n return parametros;\n }\n }\n }\n</script>\nRun Code Online (Sandbox Code Playgroud)\n
小智 5
我也遇到了这个问题。
我发现,如果 nuxt fetch() 挂钩存在并且页面在服务器端呈现,则 v-text-field 规则逻辑每次都会抛出此错误(即使 fetch 方法为空)。
我能够将 fetch() 更改为created() 或mounted() 并且错误消失了。
| 归档时间: |
|
| 查看次数: |
2491 次 |
| 最近记录: |