feat: compare filter values on a unique field instead of by reference for finding unselected (#195)

This commit is contained in:
Tonya
2024-09-05 19:41:29 +00:00
committed by GitHub
parent 1e81b4bab4
commit 0ab95fb670

View File

@@ -45,6 +45,7 @@
options: any[];
display?: string;
modelValue: any[];
uniqueField: string;
};
const btn = ref<HTMLButtonElement>();
@@ -75,6 +76,7 @@
label: "",
display: "name",
modelValue: () => [],
uniqueField: "id",
});
const len = computed(() => {
@@ -95,9 +97,9 @@
const unselected = computed(() => {
return props.options.filter(o => {
if (searchFold.value.length > 0) {
return o[props.display].toLowerCase().includes(searchFold.value) && !selected.value.includes(o);
return o[props.display].toLowerCase().includes(searchFold.value) && selected.value.every(s => s[props.uniqueField] !== o[props.uniqueField]);
}
return !selected.value.includes(o);
return selected.value.every(s => s[props.uniqueField] !== o[props.uniqueField]);
});
});
</script>