spacyfox
@spacyfox

Как получить максимальное и минимальное значение и передать в параметры input'а?

Есть такой фильтр.
Как можно получить максимальное и минимальное значение цены ('.filter__price') и передать эти значения в параметры инпута:
<input type="range" min="мин значение" max="макс значение">
?
  • Вопрос задан
  • 520 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
computed: {
  range() {
    const prices = this.filterData.map(n => n.price);
    return {
      min: Math.min(...prices),
      max: Math.max(...prices),
    };
  },

  // или

  range() {
    return this.filterData.reduce(({ min, max }, { price: n }) => ({
      min: min < n ? min : n,
      max: max > n ? max : n,
    }), { min: Infinity, max: -Infinity });
  },

  // или

  range() {
    const prices = this.filterData.map(n => n.price).sort((a, b) => a - b);
    return {
      min: prices[0] ?? Infinity,
      max: prices[prices.length - 1] ?? -Infinity,
    };
  },
},

<input type="range" v-bind="range">
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Tim-A-2020
@Tim-A-2020
<input type="range" min="1" max="100" class="text" value="50">


const inp = document.querySelector('.text');
console.log(inp.max) // 100
console.log(inp.min)// 1
console.log(inp.value) // 50
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы