title: Update initial value. Vee validate does not detect changes?
body: <p>I have two form fields: country and region. First, you have to choose a country than a region. If a country is selected I add the regions (options) to the next component: <code>Region</code>.</p>
  <p>I add the options for the regions with axios.</p>
  <p>The scenario where I have an issue: when the user chooses a country then a region then gets back to change country.
  The region needs to be reset. I tried to do that with the lifecycle hooks <code>mounted</code> and <code>created</code> but <code>VeeValidate</code> detects no changes. So the value is properly changed but <code>VeeValidate</code> does not detects it. I solved it with adding <code>watch</code> (with <code>nextTick</code>) inside <code>mounted</code> but I doubt it that this is a good solution. Does anyone have any other idea?</p>
  <p>I have little experience with <strong>Vue.js</strong>. Any help is appreciated.</p>
  <p>This my full <code>SelectBox.vue</code>:</p>
  <pre class="lang-js prettyprint-override"><code>&lt;template&gt;
      &lt;div&gt;
          &lt;v-select
              @input=&quot;setSelected&quot;
              :options=&quot;choices&quot;
              :filterable=&quot;filterable&quot;
              :value=&quot;value&quot;
              :placeholder=&quot;placeholder&quot;
          &gt;&lt;/v-select&gt;
      &lt;/div&gt;
  &lt;/template&gt;
  
  &lt;script&gt;
  import vSelect from &quot;vue-select&quot;;
  import debounce from 'lodash/debounce';
  import axios from 'axios';
  
  //axios.defaults.headers.get[&quot;Vuejs&quot;] = 1;
  export default {
      props: [
          &quot;options&quot;, &quot;filterable&quot;,
          &quot;value&quot;, &quot;url&quot;, 
          &quot;name&quot;, &quot;placeholder&quot;
      ],
      data: function () {
          var choices = this.options;
          if (this.name == &quot;region&quot;) {
              choices = this.$store.state[&quot;regionChoices&quot;] || [];
              if (this.value &amp;&amp; !choices.includes(this.value)) {
                  this.toReset = true;
              }
              if ( Array.isArray(choices) &amp;&amp; choices.length &lt; 1) { 
                  this.addError(&quot;region&quot;, &quot;Country is not selected or there are not available options for your selected country.&quot;);
              }
          }
          return {
              choices: choices
              // refPrefix: this.name + &quot;Ref&quot;
          }
      },
      components:{
          vSelect
      },
      inject: [&quot;addError&quot;],
      methods: {
          searchRegions: debounce((val, vm) =&gt; {
              axios.get(vm.url + val)
              .then(res =&gt; {
                  vm.$store.state[&quot;regionChoices&quot;] = res.data.results;
              });
          }, 250),
          setSelected(val) {
              this.$emit(&quot;input&quot;, val);
              if (this.name == &quot;country&quot;) {
                  const countryId = val ? val.value : &quot;0&quot;;
                  this.searchRegions(countryId, this);
              }
          },
      },
      mounted() {
          if (this.name == &quot;region&quot;) {
              this.$watch('value', function(value) {
                  if (this.toReset) {
                      this.$nextTick(function () {
                          this.setSelected(&quot;&quot;);
                          this.toReset = value ? true : false;
                      });
                  }
              }, { immediate: true });
          }
      },
  }
  &lt;/script&gt;
  </code></pre>