【发布时间】:2020-03-09 17:30:40
【问题描述】:
所以我想做的是当用户从选择组件中选择一个类别并将过滤后的数据填充到另一个选择时过滤从firebase实时数据库检索的数据,用所有成功的数据填充它但是当我尝试过滤时它基于选择我得到错误: console error
这是我的组件代码:
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Dashboard</div>
<div class="card-body">
<h3>Ingresar requerimiento</h3>
<div v-if="user" class="alert alert-success" role="alert">Sesión Iniciada Exitosamente!</div>
CATEGORIA:
<b-form-select v-model="selectedCategory" :options="options" size="sm" class="mt-3"></b-form-select>
<div class="mt-3">Selected: <strong>{{ selectedCategory }}</strong></div>
SOPORTE:
<b-form-select v-model="selectedSoporte" size="sm" class="mt-3">
<option v-for="soporte in ComputedServicios" :value="soporte.nombre" :key="soporte.codigo ">{{ soporte.nombre }}</option>
</b-form-select>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue';
import { mapGetters } from "vuex";
import { db } from '../firebase';
import firebase from "firebase";
import {servsRef} from '../firebase'
Vue.use(db)
Vue.use(firebase)
//Vue.use(servsRef)
console.log(db);
export default {
firebase: {
servicios: servsRef
},
computed: {
// map `this.user` to `this.$store.getters.user`
...mapGetters({
user: "user"
}),
ComputedServicios: () => {
//var vm = this;
const data = this.servicios
return data.filter(function (soporte) {
if(soporte.categoria==this.selectedCategory)
return soporte
})
}
},
data() {
return {
// servicios: [],
vm : this,
selectedSoporte:null,
selectedCategory: null,
options: [
{ value: null, text: 'Elija la categoría del soporte' },
{ value: 'electrico', text: 'Eléctrico' },
{ value: 'hidraulico', text: 'Hidráulico' },
{ value: 'electronico', text: 'Electrónico' },
{ value: 'mecanico', text: 'Mecánico'},
{ value: 'neumatico', text: 'Neumático'}
]
}
}
};
</script>
【问题讨论】:
标签: javascript vue.js firebase-realtime-database