浏览代码

select bug fixed

杨磊 7 年之前
父节点
当前提交
72b7164b0d
共有 2 个文件被更改,包括 14 次插入14 次删除
  1. 7 12
      src/package/select/src/dateSwiper.vue
  2. 7 2
      src/package/select/src/select.vue

+ 7 - 12
src/package/select/src/dateSwiper.vue

@@ -9,7 +9,7 @@
                     </div>
                     <div class="selected-bg"></div>
                     <div class="date-swiper-con">
-                        <div v-if='selectShow' class="select-mask">{{txt}}</div>
+                        <div v-show='selectShow' class="select-mask">{{txt}}</div>
                         <template v-for="(d, idx) in swiperData">
                             <nut-swiper :date-swiper-index= 'idx' :ref='"dw"+idx'
                             direction="vertical"
@@ -42,12 +42,6 @@
                 selectIndexs: [],
             }
         },
-
-        mounted: function() {
-            this.loading = this.$loading({
-                fade: true
-            })
-        },
         computed: {
             swiperData() {
                 return this.data;
@@ -56,11 +50,12 @@
         watch:{
             data() {
                 for (var prop in this.$refs) {
-                    if(this.$refs[prop][0]) {
-                        var idx = parseInt(this.$refs[prop][0].$el.getAttribute('date-swiper-index'));
+                    var $dom = this.$refs[prop][0];
+                    if($dom) {
+                        var idx = parseInt($dom.$el.getAttribute('date-swiper-index'));
                         if(this.data[idx]) {
-                            this.$refs[prop][0].setPage(this.data[idx].selected, true);
-                            this.$refs[prop][0].updateSlidesBindEvent();
+                            $dom.setPage(this.data[idx].selected, true);
+                            $dom.updateSlidesBindEvent();
                         }
                     }
                 }
@@ -94,7 +89,7 @@
         }
     }
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
     .nut-swiper-silde {
         height: 0.7rem!important;
         line-height: 0.7rem;

+ 7 - 2
src/package/select/src/select.vue

@@ -3,7 +3,7 @@
         <slot>请选择</slot>
     </div>
 </template>
-<style  lang="scss"></style>
+<style  lang="scss" scoped></style>
 <script>
     import Vue from 'vue';
     import dateSwiper from './dateSwiper.vue';
@@ -132,7 +132,9 @@
                         this.swiperData(children, obj.hie+1, false);
                     }
                 }
-                this.showSelectMask();
+                if(this.async) {
+                    this.showSelectMask();
+                }
                 this.$emit('slideEnd', this.getSelectedIndexs(), this);
             },            
             getSelectedIndexs() {
@@ -152,6 +154,9 @@
                 }else {
                     console.warn("【select】组件---调用【updateSelect】时,数据有问题");
                 }
+                if(hideMask) {
+                    this.hideSelectMask();
+                }
             },
             showSelectMask(txt) {
                 this.dateSwiper.selectShow = true;