Рубрики
Vue project Vue.js

Сортировка постов

UI MySelect

реализация двустороннего связывания. На сам select вешаем директиву v-model и передаём туда modelValue. modelValue будем принимать как пропс, поэтому сразу же создаём поле props и указываем, что мы ожидаем modelValue, где в качестве типа будет строка с каким то название (например title или body).
т.е. поле, по которому будет идти сортировка.

Так же мы будем ожидать второй props — это options
Некий массив или объект представляющий пункты выпадающего списка. По дефолту это будет пустой массив.

src\components\UI\MySelect.vue

<template>
<select v-model="modelValue" @change="changeOption">
 <option disabled value="">Выберите из списка</option>
 <option 
  v-for="option in options" 
  :key="option.value"
  :value="option.value"
 >
 {{ option.name }}
</option>
</select>

</template>
<script>
export default{
 name: 'my-select',
 props: {
  modelValue: {
   type:String
  },
  options:{
   type:Array,
   default: () =>[]
  }
 },
methods: {
 changeOption(event){
  this.$emit('update:modelValue',event.target.value)
 }
}
}
</script>
<style scoped>
</style>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *