У меня есть часы, чтобы проверить выбранные теги:
watch: {
search (val) {
for (let i = 0; i < val.length; i++) {
this.form_data.products_credit.push({
product_id: val[i].id,
quantity: null,
package_size: null,
purchase_price: null,
warehouse_id: null
});
}
}
}
Это работает нормально, но проблема, когда пользователь выбирает, например, tag1 затем
this.form_data.products_credit
значение равно:
[
{
product_id: 1,
quantity: null,
package_size: null,
purchase_price: null,
warehouse_id: null
}
]
После этого, если пользователь выбрал tag2 , тогда this.form_data.products_credit
результат будет:
[
{
product_id: 1,
quantity: null,
package_size: null,
purchase_price: null,
warehouse_id: null
},
{
product_id: 2,
quantity: null,
package_size: null,
purchase_price: null,
warehouse_id: null
},
{
product_id: 2,
quantity: null,
package_size: null,
purchase_price: null,
warehouse_id: null
}
]
Что я ожидаю:
Я не ожидал дублирования, которое произошло после выбора другого тега, но это нормально, так как я зацикливаюсь, выбросьте их.
Что я сделал:
Я пытался очистить свой products_credit
до цикла, как это:
this.form_data.products_credit = []
перед циклом.
Это сработало нормально, но я не хочу, чтобы это так, потому что это будет иметь побочные эффекты на моем следующем шаге.
Рабочий пример проблемы: здесь