diff --git a/src/components/date-picker/picker.vue b/src/components/date-picker/picker.vue index 8fcb4b4..b386eea 100644 --- a/src/components/date-picker/picker.vue +++ b/src/components/date-picker/picker.vue @@ -2,7 +2,7 @@ <div :class="[prefixCls]" v-clickoutside="handleClose"> - <div v-el:reference> + <div v-el:reference :class="[prefixCls + '-rel']"> <slot> <i-input :class="[prefixCls + '-editor']" diff --git a/src/components/input/input.vue b/src/components/input/input.vue index 53f4d9b..8b92a9c 100644 --- a/src/components/input/input.vue +++ b/src/components/input/input.vue @@ -161,6 +161,17 @@ const maxRows = autosize.maxRows; this.textareaStyles = calcTextareaHeight(this.$els.textarea, minRows, maxRows); + }, + init () { + if (this.type !== 'textarea') { + this.prepend = this.$els.prepend.innerHTML !== ''; + this.append = this.$els.append.innerHTML !== ''; + } else { + this.prepend = false; + this.append = false; + } + this.slotReady = true; + this.resizeTextarea(); } }, watch: { @@ -171,16 +182,8 @@ this.$dispatch('on-form-change', this.value); } }, - ready () { - if (this.type !== 'textarea') { - this.prepend = this.$els.prepend.innerHTML !== ''; - this.append = this.$els.append.innerHTML !== ''; - } else { - this.prepend = false; - this.append = false; - } - this.slotReady = true; - this.resizeTextarea(); + compiled () { + this.$nextTick(() => this.init()); } }; </script> diff --git a/src/components/select/dropdown.vue b/src/components/select/dropdown.vue index 3be1a45..27e02b2 100644 --- a/src/components/select/dropdown.vue +++ b/src/components/select/dropdown.vue @@ -66,7 +66,7 @@ popper._popper.style.transformOrigin = `center ${ origin }`; } }, - ready () { + compiled () { this.$on('on-update-popper', this.update); this.$on('on-destroy-popper', this.destroy); }, diff --git a/src/components/table/cell.vue b/src/components/table/cell.vue index cbe7959..6e91625 100644 --- a/src/components/table/cell.vue +++ b/src/components/table/cell.vue @@ -50,7 +50,7 @@ const cell = document.createElement('div'); cell.innerHTML = template; const _oldParentChildLen = $parent.$children.length; - $parent.$compile(cell); + $parent.$compile(cell); // todo 这里无法触发 ready 钩子 const _newParentChildLen = $parent.$children.length; if (_oldParentChildLen !== _newParentChildLen) { // if render normal html node, do not tag diff --git a/src/styles/components/date-picker.less b/src/styles/components/date-picker.less index fa28d9c..4455dbf 100644 --- a/src/styles/components/date-picker.less +++ b/src/styles/components/date-picker.less @@ -4,8 +4,11 @@ @date-picker-cells-width: 196px; .@{date-picker-prefix-cls} { - position: relative; + //position: relative; line-height: normal; + &-rel{ + position: relative; + } .@{select-dropdown-prefix-cls} { width: auto; padding: 0; diff --git a/test/routers/input.vue b/test/routers/input.vue index 37fee9a..efbfdd0 100644 --- a/test/routers/input.vue +++ b/test/routers/input.vue @@ -1,4 +1,6 @@ <template> + <i-input type="textarea" :autosize="true" placeholder="请输入..."></i-input> + <i-input type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入..."></i-input> <i-input name="a" icon="ios-clock-outline" @on-focus="focus" @on-blur="blur" readonly style="width:200px;" :value.sync="v" @on-enter="enter" @on-click="iconclick" size="large" placeholder="请输入"></i-input> <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" placeholder="请输入"></i-input> <i-input name="b" icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" size="small" placeholder="请输入"></i-input> diff --git a/test/routers/table.vue b/test/routers/table.vue index 1a49b3e..b9d72d7 100644 --- a/test/routers/table.vue +++ b/test/routers/table.vue @@ -1,20 +1,100 @@ <template> <div style="width: 800px"> - <i-table width="550" height="200" border :columns="columns5" :data="data4"></i-table> - <br> - <i-table border height="300" :columns="columns1" :data="data1"></i-table> - <br> - <i-table border height="300" :columns="columns1" :data="data2"></i-table> - <br> - <i-table border height="300" :columns="columns2" :data="data1"></i-table> - <br> - <i-table border height="300" :columns="columns3" :data="data1"></i-table> + <i-table border :content="self" :columns="columns7" :data="data6"></i-table> + <!--<i-table width="550" height="200" border :columns="columns5" :data="data4"></i-table>--> + <!--<br>--> + <!--<i-table border height="300" :columns="columns1" :data="data1"></i-table>--> + <!--<br>--> + <!--<i-table border height="300" :columns="columns1" :data="data2"></i-table>--> + <!--<br>--> + <!--<i-table border height="300" :columns="columns2" :data="data1"></i-table>--> + <!--<br>--> + <!--<i-table border height="300" :columns="columns3" :data="data1"></i-table>--> </div> </template> <script> export default { data () { return { + self: this, + cityList: [ + { + value: 'beijing', + label: '北京市' + }, + { + value: 'shanghai', + label: '上海市' + }, + { + value: 'shenzhen', + label: '深圳市' + }, + { + value: 'hangzhou', + label: '杭州市' + }, + { + value: 'nanjing', + label: '南京市' + }, + { + value: 'chongqing', + label: '重庆市' + } + ], + model1: '', + columns7: [ + { + title: '姓名', + key: 'name', + render (row, column, index) { + return `<Icon type="person"></Icon> <strong>${row.name}</strong>`; + } + }, + { + title: '年龄', + key: 'age' + }, + { + title: '地址', + key: 'address' + }, + { + title: '操作', + key: 'action', + width: 400, + align: 'center', + render (row, column, index) { + return ` +<Date-picker type="daterange" placement="bottom-end" placeholder="选择日期"></Date-picker> +<br><br><br><br><br><br> +`; + } + } + ], + data6: [ + { + name: '王小明', + age: 18, + address: '北京市朝阳区芍药居' + }, + { + name: '张小刚', + age: 25, + address: '北京市海淀区西二旗' + }, + { + name: '李小红', + age: 30, + address: '上海市浦东新区世纪大道' + }, + { + name: '周小伟', + age: 26, + address: '深圳市南山区深南大道' + } + ], columns1: [ { title: '姓名', -- libgit2 0.21.4