Я не совсем понял, что вам нужно.Из того, что я понял, вам нужно искать имя столбца в массиве apidata
, используя фильтр.Если ваш поисковый фильтр найдет элемент вашего apidata
массива, вы хотите отобразить значения строк, соответствующие имени столбца, найденного вашим поисковым фильтром.Из элементов, которые вы указали в своем посте, я не понимаю, какую ценность вы должны озвучивать и откуда они должны быть.
В любом случае, вот моя попытка помочь вам.Предположим, у вас есть объект data
, который содержит значение строки для отображения.Приведенный ниже код выполняет поиск в массиве apidata
и отображает значение соответствующего атрибута объекта data
, если что-либо найдено.
App.vue
<template>
<div id="app"><searchCompoenent :data="data"></searchCompoenent></div>
</template>
<script>
import searchCompoenent from "./components/searchComponent.vue";
export default {
name: "App",
data() {
return {
data: {
Id: [1, 9, 2, 3, 4, 5],
Name: ["name1", "name2"],
Version: ["2.0", "1.0.0", "1.1-beta"]
}
};
},
components: {
searchCompoenent
}
};
</script>
searchComponent.vue
<template>
<div>
<input v-model="search" placeholder="Search..." type="text" />
<button type="button" @click="searchColumn">Search!</button>
</div>
</template>
<script>
export default {
data() {
return {
search: "",
apidata: ["Id", "Name", "Version"]
};
},
props: ["data"],
methods: {
searchColumn() {
let result = this.apidata.find(element => {
return element === this.search;
});
if (result !== undefined) {
console.log(result);
console.log(this.data);
}
}
}
};
</script>