Solved:

change @input="input.barcode.push($event.target.value)" to
@input="input.barcode[index]=($event.target.value)"

I have an app that has a series of text input fields. When the submit button is clicked I want to append all the input values to two lists 'barcode' and 'location'. It works when there is only one character for each entry, however when there is more than one character I get something like this:

Barcode Input1 = 'test'

barcode = ['t', 'te', 'tes', 'test']

```
<template>
  <ion-grid>
    <form @submit="onSubmit">
      <ion-col>
        <ion-row>
          <ion-item>
            <ion-label>Barcode:</ion-label>
            <ion-input
              :value="input.barcode"
              @input="input.barcode.push($event.target.value)"
              name="barcode1">
            </ion-input>
          </ion-item>
          <ion-item>
            <ion-label>Location:</ion-label>
            <ion-input
              :value="input.location"
              @input="input.location.push($event.target.value)"
              name="location1">
            </ion-input>
          </ion-item>
        </ion-row>
      </ion-col>
      <ion-col>
        <ion-button type="Submit" expand="block" fill="outline">Submit</ion-button>
      </ion-col>
    </form>
  </ion-grid>
</template>

```

```
<script>
  export default {
    name: "inventoryEntry",
    data() {
      return {
        input: {
          barcode: [],
          location: []
        }
      };
    },
    methods: {
      onSubmit(e) {
        e.preventDefault();

        if (this.input.barcode.length == this.input.location.length) {
          this.$emit("get-codes", this.input);
          this.input = { barcode: [], location: [] };
        } else {
          this.showAlert();
        }
      },
      showAlert() {
        return this.$ionic.alertController
          .create({
            message: "Inconsistent number of entries",
            buttons: ["OK"]
          })
          .then(a => a.present());
      }
    }
  };
</script>

```