origami1024
@origami1024
went out for a night walk

Как лучше всего передавать данные из компонентов с множеством инпутов родителю?

Так как я сейчас делаю - много повторяющегося кода, тоесть в каждом поле нужно задать :value и метод в @input, при том этот метод будет всего лишь передавать аргумент наверх. Вот демонстрация того как у меня сделано сейчас.
<div>
    <input :value="city" @input="cityUpd">
    <input :value="salary" @input="salaryUpd">
    <input :value="exp" @input="expUpd">
    <input :value="jtype" @input="jtypeUpd">
    <input :value="curr" @input="currUpd">
</div>


props: {
    salary: String,
    city: String,
    exp: String,
    jtype: String,
    curr: String,  
  },
  methods: {
    cityUpd(new1) {
      this.$emit('cityUpd', new1)
    },
    salaryUpd(new1) {
      this.$emit('salaryUpd', new1)
    },
    expUpd(new1) {
      this.$emit('expUpd', new1)
    },
    jtypeUpd(new1) {
      this.$emit('jtypeUpd', new1)
    },
    currUpd(new1) {
      this.$emit('currUpd', new1)
    },
}


Подозреваю, что по нормальному можно сократить, чтобы для каждого отдельного инпута не нужно было писать дублирующийся код. У меня около 15 инпутов на некоторых компонентах.
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Отправляйте наверх не только значение, но и имя параметра. Сами параметры соберите в один объект - так проще и ещё можно будет использовать v-model.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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