<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Vue+ElementUI 下拉框問題的一個解決方案

      問題描述:Vue使用ElementUI使用下拉框組件時,點擊空白處,無法隱藏展開的選項。build項目后,此類問題時有時無,不確定。

      報錯如圖:

      于是自己做了個組件封裝一下原生下拉框,解決無法關閉下拉選項問題。代碼如下:

      <template>
        <div :ref="'div_my_select_component_'+rid" v-click-outside="handleClose">
          <el-select :key="rid" :ref="refName" v-model="selectModel" @change="handleChange"
                     :size="size" :disabled="disabled" :clearable="clearable" :filterable="filterable"
                     :filter-method="filterMethod"
                     v-bind="$attrs"
                     v-on="$listeners"
          >
            <el-option v-for="(item,index) in dataList"
                       :key="index"
                       :value="typeof (valueKey)=='function'? valueKey(item,index):item[valueKey]"
                       :label="typeof (labelKey)=='function'? labelKey(item,index):item[labelKey]"
                       v-if="optionIfFn?optionIfFn(item,index):true"
                       :disabled="optionDisabledFn?optionDisabledFn(item,index):false"
            ></el-option>
          </el-select>
        </div>
      </template>
      <script>
      import Clickoutside from '../utils/clickoutside';
      
      
      export default {
        name: 'MySelect',
        directives: {
          "click-outside": {
            bind(el, binding, vNode) {
              Clickoutside.bind(el, binding, vNode)
            },
            unbind(el) {
              Clickoutside.unbind(el)
            }
          }
        },
        props: {
          value: {
            type: [Number, String, Array]
          },
          dataList: {
            type: Array
          },
          valueKey: {
            type: [String, Function],
            default() {
              return 'value';
            }
          },
          labelKey: {
            type: [String, Function],
            default() {
              return 'label';
            }
          },
          size: String,
          disabled: Boolean,
          clearable: Boolean,
          filterable: Boolean,
          filterMethod: Function,
          optionIfFn: Function,
          optionDisabledFn: Function
        },
      
        data() {
          return {
            rid: null,
            refName: 'my_select_component',
            selectModel: null
          };
        },
        watch: {
          value: {
            handler(newValue, oldValue) {
              this.selectModel = newValue;
            },
            immediate: true
          },
          selectModel: {
            handler(newValue, oldValue) {
              this.$emit('input', newValue)
            }
          }
        },
        created() {
          this.rid = Math.random().toString().replace('.', '');
          this.refName += "_" + this.rid;
      
        },
        beforeCreate() {
      
        },
      
        beforeDestroy() {
          // console.log('beforeDestroy')
      
        },
      
        computed: {},
      
        mounted() {
        },
      
        methods: {
          handleChange(e) {
            this.$emit('change', e);
          },
          handleClose() {
            if (this.$refs[this.refName]) {
              this.$refs[this.refName].handleClose();
            }
          },
        },
      }
      ;
      
      </script>
      
      
      

      調用示例
      多選情況

        <my-select
                      v-model="form.roleIds"
                      multiple
                      collapse-tags 
                      placeholder="請選擇"
                      @change="$forceUpdate()"
                      :data-list="roleOptions"
                      label-key="name"
                      value-key="roleId"
                      :option-disabled-fn="function(item) {
                        return item.status === STATUS.DISABLE;
                      }"
                    ></my-select>
      

      單選情況

        <my-select :data-list="CategoryDict" v-model="form.category" placeholder="請選擇"
                             clearable @change="handleCategoryChange"
                  ></my-select>
      
      posted @ 2023-10-27 10:40  newbigapple  閱讀(427)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 乱人伦中文字幕成人网站在线| 国产精品乱子乱xxxx| 亚洲精品日韩在线丰满| 国产精品自拍午夜福利| 人妻丝袜AV中文系列先锋影音| 人妻少妇精品无码专区| 国产高清在线男人的天堂| 沙田区| 91色老久久精品偷偷蜜臀| 中国女人高潮hd| 99国产欧美久久久精品蜜芽 | 双辽市| 久久久精品2019中文字幕之3| 国内精品人妻一区二区三区| 国产精品久久一区二区三区| 国产精品国产高清国产av| 亚洲国产精品一二三四区| 国产亚洲精品成人aa片新蒲金 | 国产毛片子一区二区三区| 日韩国产成人精品视频| 国产精品日本一区二区不卡视频| 日本高清在线观看WWW色| 沙坪坝区| 欧美国产日韩在线三区| 精品一区二区不卡无码AV| 色综合久久久久综合体桃花网| 亚洲国产精品视频一二区| 日韩精品成人一区二区三区| 日本免费人成视频在线观看| 绯色蜜臀av一区二区不卡| 精品国产AV无码一区二区三区| 免费人成在线视频无码| www插插插无码免费视频网站| 精品亚洲欧美高清不卡高清| 国产+亚洲+制服| 欧美丰满熟妇xxxx性ppx人交| 亚洲小说乱欧美另类| 一区二区免费高清观看国产丝瓜| 综合色综合色综合色综合| 中文日韩在线一区二区| 亚洲色成人网站www永久四虎|