Anyway to implement watch in vuejs for v-for loop (dynamic inputs)

I am trying to create a form, there is one “Add” button, when clicking that, it will create a new array of object and set the values. I am looping the objects and need to watch each and every object dynamically.

HTML Code :

<div class="col-md-10 col-lg-10">
    <div class="block-flat">
        <div class="header">
            <div class="header-display">
                <h3><strong>values</strong></h3>
            </div>

            <div class="header-display pull-right">
                <button type="button" name="button" class="btn btn-primary" id=
                "value-add-button">Add</button>
            </div>
        </div>

        <div id="value-table">
            <table class="table vmiddle no-padding hover table-striped">
                <thead>
                    <tr>
                        <td><strong>Name</strong></td>

                        <td><strong>Value</strong></td>

                        <td><strong>Action</strong></td>
                    </tr>
                </thead>

                <tbody>
                    <tr v-for="(key, index) in NewArr" v-bind:key="value">
                        <td></td>

                        <td class="td-padding__multi">
                            <div class="input-fixed-width" v-if="ValueExists"></div>

                            <div class="input-fixed-width" v-else="">
                                <input type="text" v-model="key.ValueSelected" class=
                                "input-increase-padding" />
                            </div>
                        </td>

                        <td><button type="button" name="button" class=
                        "btn btn-danger"></button></td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

Vue Code :

Function to add new item

addNewValueInput: function() {
let vm = this;
vm.NewArr.push({
name: '',
value: '',
});

vm.$set(vm.NewArr, vm.NameSelected, vm.ValueSelected);
},

Method written for @input

userInput(input,index){
this.ValuesList(input,index);
},
valuesList: function  (input) {
if(input === "options") {
vm.valueExists = true;
} 
else 
{
vm.valueExists = false;
}
}

Here, whenever i am selecting name field, it should display the input either dropdown or text field based on the value which received in @input like “options” or “other” values.

But, my main issue is, if i add first item, it is working properly, if i add second item, both items displaying same input type. It should be based on specific inputs.

For example, if i am adding 1st item as “options”, dropdown is displaying. when adding 2nd item and selecting name as “other”, then both items displaying into text field.

Please someone help me. I am stuck int his for past 1 week. Please help me. I am new to VueJS. may be my explanation will be confusing. sorry for that.