Estoy usando el complemento Vue - Multiselect Js ( Github )
Actualmente tengo el mismo código que en el ejemplo de Ajax , excepto que mi API de investigación me devuelve más datos de los que espera Multiselect.
import Multiselect from 'vue-multiselect' import { ajaxFindCountry } from './countriesApi' export default { components: { Multiselect }, data () { return { selectedCountries: [], countries: [], isLoading: false } }, methods: { limitText (count) { return `and ${count} other countries` }, asyncFind (query) { this.isLoading = true ajaxFindCountry(query).then(response => { this.countries = response this.isLoading = false }) }, clearAll () { this.selectedCountries = [] } } } Cuando solicito "Hello world" a la Api, también puede devolver "World hello" , porque coincide con cualquier palabra (no solo con los caracteres sucesivos).
Como en el ejemplo si buscas barbuda puedes encontrar Antigua and Barbuda
Y si eso no coincide perfectamente (solo agregando espacio), la opción de Antigua y Barbuda está oculta. (Sé que no es mi API, por lo que las opciones no son exactamente las mismas, pero en la práctica mi resultado actual)
¿Es posible no tener exactamente la misma coincidencia entre options y search ?
Como se menciona en el ejemplo y los documentos, puede usar :internal-search="false" prop en el componente vue-multiselect para deshabilitar la lógica de filtrado interno.
Al hacerlo, el componente ya no filtrará las opciones internamente y, si es necesario, puede escribir su propia lógica personalizada para filtrar las opciones.