vuejs - 更改计算

时间:2018-04-24 18:53:52

标签: vue.js

我使用简单的计算来从我的数组中获取正确的值到select字段:

computed: {
   specialitySelect() {
   return this.$store.state.physicianListSpeciality
   }
}

这样可以正常使用,但我需要根据offer.person值获取正确的值,可能是:physiciannurse等...

如何将返回值更改为:如果是护士:

computed: {
   specialitySelect() {
   return this.$store.state.nurseListSpeciality
   }
}

如果这是一个我可以轻松完成的功能:

methods: {
   specialitySelect(person) {
   return this.$store.state[person]ListSpeciality
   }
}

但在computed我无法做到。有没有其他解决方案我可以使用?

1 个答案:

答案 0 :(得分:1)

一种解决方案是检查offer.person的值,并依赖于该返回您要返回的内容:

 computed: {
   specialitySelect() {
    switch(this.offer.person) {
       case 'nurse':
         return this.$store.state.nurseListSpeciality
         break
       case 'physician':
         return this.$store.state.physicianListSpeciality
         break
       default:
         return []
    }
    return this.$store.state.nurseListSpeciality
   }
 }

注意:感谢此回答中的评论,一个很好的解决方案是:

   computed:{
     specialitySelect() {
        return this.$store.state[this.offer.person + 'ListSpeciality']
     }
   }