Laravel 将特定值动态传递给Vue.js中的计算函数

Laravel 将特定值动态传递给Vue.js中的计算函数,laravel,vue.js,vue-component,laravel-8,vuejs3,Laravel,Vue.js,Vue Component,Laravel 8,Vuejs3,我试图用v-model传递id,这样我就可以把它传递给我的计算函数。我的函数的目的是动态筛选表,而无需对函数中的名称进行硬编码。该功能必须能够过滤两个选择框 我的数据称为指南,它有一个标题/活动/语言id/组 这是我的html下拉列表: 全部的 {{language.name} 全部的 活跃的 存档 这是我现在的计算函数,但正如您所看到的,“language.id”是硬编码的,但我希望函数从中读取它。我尝试的是将其放入:id=“中,但我不知道如何将其转发到v-model之外的函数中。所有这些

我试图用v-model传递id,这样我就可以把它传递给我的计算函数。我的函数的目的是动态筛选表,而无需对函数中的名称进行硬编码。该功能必须能够过滤两个选择框

我的数据称为指南,它有一个标题/活动/语言id/组

这是我的html下拉列表:


全部的
{{language.name}
全部的
活跃的
存档
这是我现在的计算函数,但正如您所看到的,“language.id”是硬编码的,但我希望函数从
中读取它。我尝试的是将其放入:id=“中,但我不知道如何将其转发到v-model之外的函数中。所有这些的目的是,我可以在不更改任何内容的情况下重用组件。因此,它必须应用于两个选择框,或者将来应用于更多选择框

    filterCertainValue: function (evt) {
        if (!this.filterResult) return this.guides;
        return this.guides.filter(guide => {
            if (guide.language.id == this.filterResult) {
                return guide.language.id;
            }
        })
    },

您可以创建一个动态筛选关键字,该关键字会根据上次选择的
进行更改:

  • 创建一个(名为“filterKey”):

    导出默认值{
    数据(){
    返回{
    filterKey:空
    }
    }
    }
    
  • 在每个
    中添加一个,以将
    filterKey
    设置为所需的键,以便在计算道具的过滤中使用(例如,
    language\u id
    active
    ):

    
    
  • 更新计算道具的过滤器以使用
    filterKey

    计算:{
    filterCertainValue(){
    如果(!this.filterResult)返回this.guides
    
    我没有任何错误或问题。问题是我没有经验,也不知道如何得到我想要的。正如你的演示显示你现在有一个语言选择框,让我们假设我有另一个选择框下面的“活动”而不是“语言id”。我想要的是,我可以使用vue函数应用于这两个选项,但现在不可能,因为正如您所看到的,该函数的名称是return language.id。但我希望在触摸了selectbox之后,返回值会发生变化。@tony19