const state = reactive({
  util: {
    aList: [{val:'abv'},{val:'wfasd'},{val:'klj'}],
    bList: [{val:'terf'},{val:'gfds'},{val:'mbnn'}],
    cList: [{val:'ghfsa'},{val:'puio'},{val:'gdf'}]
  },
  // 用于显示过滤后的列表
  filtered: {
    aList: [],
    bList: [],
    cList: []
  },
  queryForm: {
    a: '',
    b: '',
    c: ''
  }
})筛选方法:
const filterList = (query, listName) => {
  if (query.length > 0) {
    state.filtered[listName] = state.util[listName].filter(item => 
      item.val.toLowerCase().includes(query.toLowerCase())
    )
  } else {
    // 如果查询为空,则显示完整列表
    state.filtered[listName] = [...state.util[listName]]
  }
}为每个 el-select 绑定对应的列表和过滤方法:
<el-select
  v-model="queryForm.a"
  clearable
  filterable
  :filter-method="(e) => filterList(e, 'aList')"
  style="width: 240px"
>
  <el-option
    v-for="item in filtered.aList"
    :key="item.val"
    :label="item.val"
    :value="item.val"
  />
</el-select>
<el-select
  v-model="queryForm.b"
  clearable
  filterable
  :filter-method="(e) => filterList(e, 'bList')"
  style="width: 240px"
>
  <el-option
    v-for="item in filtered.bList"
    :key="item.val"
    :label="item.val"
    :value="item.val"
  />
</el-select>
初始化 filtered 列表
onMounted(() => {
  // 初始化所有过滤列表
  Object.keys(state.util).forEach(key => {
    state.filtered[key] = [...state.util[key]]
  })
})