diff --git a/src/components/datepicker/index.vue b/src/components/datepicker/index.vue new file mode 100644 index 0000000..1c41f86 --- /dev/null +++ b/src/components/datepicker/index.vue @@ -0,0 +1,140 @@ + + + + + \ No newline at end of file diff --git a/src/directives/iosselect/index.js b/src/directives/iosselect/index.js new file mode 100644 index 0000000..9e747d3 --- /dev/null +++ b/src/directives/iosselect/index.js @@ -0,0 +1,10 @@ +import SelectRender from './selectRender' + +export default { + bind(el, binding) { + el.addEventListener('click', () => { + let re = new SelectRender(el, binding) + re.show() + }) + } +} \ No newline at end of file diff --git a/src/directives/iosselect/select.vue b/src/directives/iosselect/select.vue new file mode 100644 index 0000000..6c01a2d --- /dev/null +++ b/src/directives/iosselect/select.vue @@ -0,0 +1,297 @@ + + + + + \ No newline at end of file diff --git a/src/directives/iosselect/selectRender.js b/src/directives/iosselect/selectRender.js new file mode 100644 index 0000000..07b4790 --- /dev/null +++ b/src/directives/iosselect/selectRender.js @@ -0,0 +1,47 @@ +/** + * Created by EX-pengzhiliang001 on 2017-06-08. + */ +import Vue from 'vue' +import select from './select' + +export default class SelectRender { + constructor(el, binding) { + this._vm = null + this._el = el + this._options = binding.value + } + + show () { + if (!document.querySelector('[vmui-select]')) { + this.createElement('vmui-select') + } + + let Select = Vue.extend(select) + this._vm = new Select({ + propsData:{ + bindEl: this._el, + selectList: this._options.selectList || [], + onSure: this._options.onSure || () => {}, + connect: this._options.connect || '/', + connectEvents: this._options.connectEvents || null, + autoFill: this._options.autoFill, + initValue: this._options.val, + hideEvent: this.destroy + } + }).$mount('[vmui-select]') + + return this + } + + createElement(attr, tag) { + let $d = document.createElement(tag || 'div') + $d.setAttribute(attr, '') + document.body.appendChild($d); + } + + destroy() { + this._options = null + this._vm = null + this._el = null + } +}