选择项的功能

时间:2019-12-11 19:12:51

标签: javascript vue.js vuetify.js

我想使用一个函数,该函数返回一个对象数组并将其用作vuetify select的项。

我也这样使用它:

<v-select
     :items='functionToCall()'
     ......
>

我在函数后控制台登录const,我有想要的输出,但是选择菜单中什么都没有。

2 个答案:

答案 0 :(得分:1)

您正在将要调用的实际函数传递给vue标记,而不是实际调用它。您需要像这样调用函数:

<v-select
     :items='functionToCall()'
     ......
>

但是,最好使用computed property,因为仅当组件重新渲染时才调用函数调用。计算出的属性将根据生成其输出的反应性数据进行反应性更新。

ETA:AFIAK,强制重新渲染组件或组件的一部分的唯一可靠方法是更改​​组件的key属性。除此之外,$forceUpdate和其他方法似乎并不能可靠地强制进行重新渲染(无论如何,在大多数情况下,您都不必强制进行重新渲染,如果这样做,您可能正在做某事错误)

答案 1 :(得分:0)

将返回对象数组的函数应该是一个计算属性,您可以像这样使用它:

<v-select
    v-model="computedProperty"
    item-text="title"
    item-value="id"
></v-select>
...
computed: {
    computedProperty(){
        * your code here where you form the array *
        return array
    }
}

请注意,如果您确实需要向函数传递一些信息,则可以在如下方法中使用相同的函数:

methods: {
    computedProperty(passedInfo){
        * your code here where you form the array with passedInfo *
        return array
    }
}