123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Vue.directive('select2', {
- inserted: function (el, binding, vnode) {
- let options = binding.value || {};
- var select = $(el).select2(options);
-
- select.on("select2:select", (e) => {
- el.dispatchEvent(new Event('change', { target: e.target }));
- // $emit('change',);
- console.log("fire change in insert");
- });
- select.on("select2:unselect", function (e) {
- el.dispatchEvent(new Event('change', { target: e.target }));
- console.log("unselect");
- });
- for (var i = 0; i < vnode.data.directives.length; i++) {
- if (vnode.data.directives[i].name == "model") {
-
- $(el).val(vnode.data.directives[i].value);
- console.log("new value in inserted:"+vnode.data.directives[i].value);
- }
- }
- $(el).trigger("change");
- },
- update: function (el, binding, vnode) {
- for (var i = 0; i < vnode.data.directives.length; i++) {
- if (vnode.data.directives[i].name == "model") {
-
- $(el).val(vnode.data.directives[i].value);
- console.log("new value in update:"+vnode.data.directives[i].value);
- }
- }
- $(el).trigger("change");
- console.log("fire change in update");
- }
- });
|