Creé mi propio componente SelectMenu Vue que envuelve el componente de menú de selección del paquete vue-select para que pueda obtener un flujo de interfaz de usuario más optimizado.
Mi componente reutilizable se ve así:
<v-select :appendToBody="append" filterable :multiple="multiple" :label="label" :placeholder="placeholder" :options="options" :autocomplete="autocomplete" :reduce="option => option.id" @input="selected" v-model="model" /> Esto funciona perfectamente, excepto cuando la clave de opciones debe ser diferente a la id .
append multiple options de placeholder de posición de label se pasan al componente como accesorios y me gustaría pasar la clave de option para usar también.
:reduce="option => option.{passed in key}" Configuré un accesorio llamado reducer por falta de un nombre mejor:
reducer: { type: String, default: 'id' }Intenté concatenarlo:
:reduce="option => `option.${reducer}`"Pero, por supuesto, esto produce una cadena de "option.id" o lo que sea que sea el accesorio reductor.
¿Cómo puedo configurar esto para que se interprete como javascript?
¿Ha intentado usar la notación de corchetes para obtener el valor de un objeto mediante una clave variable? https://bobbyhadz.com/blog/javascript-get-object-value-by-variable-key#:~:text=Use%20bracket%20notation%20to%20get,get%20the%20corresponding%20value%20back.&text =¡Copiado !
:reduce="option => option[reducer]"