We can add , remove or change the quantity of the item in the cart or mini cart by applying a data-actions

events: {
'click [data-action="addQuantity"]': 'addQuantity',
'click [data-action="removeQuantity"]': 'removeQuantity',
'change [data-type="quantity-input"]': 'changeQuantity',
},
addQuantity: function addQuantity(e) {
e.preventDefault();
var value = parseInt(this.$(e.currentTarget).data('value'), 10);
var currentitemid = this.$(e.target).data('internalid');
var array = this.model.get('lines').models;
var foundIndex = array.findIndex((el) => (el.cartitemid === currentitemid));
var item_quantity = this.model.get('lines').models[foundIndex]
var $element = this.$(e.target);
var $input_quantity = $element.parent().find('input');
var old_value = parseInt($input_quantity.val(), 10);
var new_quantity = old_value + value;
item_quantity.set('quantity', new_quantity);
var update_promise = this.model.updateLine(item_quantity, true);
this.render();
return update_promise;
},
removeQuantity: function removeQuantity(e) {
e.preventDefault();
var currentitemid = this.$(e.target).data('internalid');
var array = this.model.get('lines').models;
var foundIndex = array.findIndex((el) => (el.cartitemid === currentitemid));
var item_quantity = this.model.get('lines').models[foundIndex];
var value = parseInt(this.$(e.currentTarget).data('value'), 10);
var $element = this.$(e.target);
var $input_quantity = $element.parent().find('input');
var old_value = parseInt($input_quantity.val(), 10);
if (old_value == 1) {
var new_quantity = old_value + 0;
} else {
var new_quantity = old_value + value;
}
item_quantity.set('quantity', new_quantity);
var update_promise = this.model.updateLine(item_quantity, true);
this.render();
return update_promise;
},
changeQuantity: function changeQuantity(e) {
e.preventDefault();
var currentitemid = this.$(e.target).data('internalid');
var array = this.model.get('lines').models;
var foundIndex = array.findIndex((el) => (el.cartitemid === currentitemid));
var item_quantity = this.model.get('lines').models[foundIndex];
var $element = this.$(e.target);
var $input_quantity = $element.parent().find('input');
var new_value = parseInt($input_quantity.val(), 10);
item_quantity.set('quantity', new_value);
var update_promise = this.model.updateLine(item_quantity, true);
this.render();
return update_promise;
},