I am trying to do filtering on a prop value and it changes based on dropdown selection.
Here is what I have so far:
template(v-for="field in tableFields")
   th(:id="field.name")
   select(@change="filterScope(scope)" v-model="selectedScope")
       option(v-for="scope in scopes" v-bind:value="scope" ) {{scope}}
template(v-for="(item) in tableData")
            row(
            :item="item"
            )
The first template is for the table header, the 2nd is the table row.
Assuming currently my table display data like this:
Name                  Age                  Gender
Andrew                 21                   Male
Dan                    21                   Male
Kate                   33                   Female
All these row's data are in the tableData variable, which is a prop and the parent defines the value. What I want to achieve is to enable drop down selection for Age and Gender. 
For example, the dropdown for age will have option 21 and 33, if I chose 21, then the table will show as follows:
Name                  Age                  Gender
Andrew                 21                   Male
Dan                    21                   Male
My code so far is like this and I am not sure how to keep going:
 methods: {
     filterScope: function(scope) {
            var resultArray = []
            this.tableData.forEach(function(data){
                if (data.age === this.selectedScope) {
                    resultArray.push(data)
                }
            }, this);
            this.tableData = resultArray;
        }
 }
Error i am getting is:
Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "tableData"
This won't work for some reason and the data is not correctly filtered along with that warning from Vue. 
How do I properly filter the tableData?
 
    