[Vuejs]-Selectize.js and vue.js 2 ajax loaded optons

3👍

I just read the source code of vue2-selectize and noticed that it’s watch code for options key is incorrect.

his code is this way:

watch: {
  value() {
    this.setValue()
  },
  options (value, old) {
    if (this.$el.selectize && !equal(value, old)) {
      this.$el.selectize.clearOptions()
      this.$el.selectize.addOption(this.current)
      this.$el.selectize.refreshOptions(false)
      this.setValue()
    }
  }
},

while it should be this way to work:

watch: {
  value() {
    this.setValue()
  },
  options (value, old) {
    if (this.$el.selectize && !equal(value, old)) {
      this.$el.selectize.clear();
      this.$el.selectize.clearOptions();
      var vm = this;
      this.$el.selectize.load(function(callback) {
        callback(vm.current);
      });
      this.$el.selectize.refreshOptions(false);
      this.setValue();
    }
  }
},

I just prepared a hacky way to make it working but I dont encourage you using it in production.

Here is the fiddle’s link: https://jsfiddle.net/ahmadm/h8p97hm7/

I’ll try to send a pull request to his creator as soon as possible but until that time, your solution is already the only possible solution.

Leave a comment