[Vuejs]-How can I fetch arrays of the object in an object in vue or javascript

2👍

I suggest you format your data using a computed getter and use Object.keys as others have suggested.

get itemsArray() {
  return Object.keys(this.items).map((key) =>
    return this.items[key];
  });
}
👤Mike

1👍

Instead of naming your ‘items’ properties ‘item1’, ‘item2’, etc, it would be better make ‘items’ an array and add an ‘id’ property to each ‘items’ object:

  data() {
    return {
      selected: "",
      items: [
        { id: 1, selected: "", inputType: "", inputTarget: "" },
        { id: 2, selected: "", inputType: "", inputTarget: "" }
      ],
      textarea: ""
    };
  },
👤Tim

1👍

you can do something like

 methods: {
    selectboxAction(index) {
      Object.keys(this.items).forEach(val => {
        this.items[val].forEach(item => {
        if (item.selected.toLowerCase() === "file") {
          this.$refs.inputData[index].type = "file";
        } else {
          this.$refs.inputData[index].type = "text";
        }
       });
      });
    }
  }

Leave a comment