欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue+ElementUI?封裝簡易PaginationSelect組件的詳細(xì)步驟

 更新時間:2022年08月06日 10:49:19   作者:千秋歲歲歲  
這篇文章主要介紹了Vue+ElementUI?封裝簡易PaginationSelect組件,這里簡單介紹封裝的一個Pagination-Select組件幾個步驟,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

在實(shí)際開發(fā)工作中,經(jīng)常會碰到當(dāng)select下拉數(shù)據(jù)過需要做分頁的情況
這里簡單介紹封裝的一個Pagination-Select組件幾個步驟
封裝的比較簡易,可以根據(jù)自己的項(xiàng)目進(jìn)行改動

  • /components/Pagination-Select/index.vue
<template>
  <div id="PaginationSelect">
     <el-select
      v-model="value"
      :placeholder="selectOptions.placeholder"
      :filterable="selectOptions.filterable"
      :size="selectOptions.size"
      :collapse-tags="selectOptions.collapseTags"
      :multiple="selectOptions.multiple"
      :clearable="selectOptions.clearable"
      @change="selectChange">
      <el-option
        v-for="item in (selectOptions.selectData).slice((selectPage.currentPage - 1) * selectPage.pageSize, selectPage.currentPage * selectPage.pageSize)"
        :key="item.value"
        :label="item.label"
        :value="item.value">
      </el-option>
      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="selectPage.currentPage"
        layout="prev, pager, next"
        :page-size="selectPage.pageSize"
        :total="selectOptions.selectData.length">
      </el-pagination>
    </el-select>
  </div>
</template>
<script>
export default {
  name: 'PaginationSelect',
  props: {
    selectOptions: {
      type: Object,
      default: () => {}
    }
  },
  data () {
    return {
      selectPage: {
        currentPage: 1,
        pageSize: 3
      },
      value: ''
    }
  },
  methods: {
    selectChange (val) {
      this.$emit('getSelectVal', val)
    },
    handleSizeChange (val) {
      this.selectPage.pageSize = val
    },
    handleCurrentChange (val) {
      this.selectPage.currentPage = val
    }
  }
}
</script>

<style lang="less">
.el-pagination {
  display: flex;
  justify-content: center;
}
</style>
  • demo項(xiàng)目,這邊直接放在App.vue中使用
<template>
  <div id="app">
    <Pagination-Select :selectOptions="selectOptions" @getSelectVal="getSelectVal" />
  </div>
</template>

<script>
import PaginationSelect from './components/Pagination-Select'
export default {
  name: 'App',
  components: { PaginationSelect },
  data () {
    return {
      // select組件配置項(xiàng)
      selectOptions: {
        filterable: true,
        clearable: true,
        placeholder: '請選擇aaa',
        size: 'small',
        multiple: false,
        collapseTags: false,
        selectData: []
      }
    }
  },
  created () {
    this.querySelectData()
  },
  methods: {
    querySelectData () {
      setTimeout(() => {
        this.selectOptions.selectData = [
          {
            value: '1',
            label: '黃金糕'
          },
          {
            value: '2',
            label: '雙皮奶'
          },
          {
            value: '3',
            label: '蚵仔煎'
          },
          {
            value: '4',
            label: '龍須面'
          },
          {
            value: '5',
            label: '北京烤鴨'
          }
        ]
      }, 2000)
    },
    getSelectVal (val) {
      console.log(val, 'val')
    }
  }
}
</script>
<style lang="less">
#app {
  display: flex;
  justify-content: center;
}
</style>
  • 根據(jù)selectOptions配置項(xiàng)修改組件屬性,父組件請求數(shù)據(jù)傳入子組件進(jìn)行渲染,當(dāng)子組件出發(fā)change方法時
    使用emit將所選的值回傳父組件,進(jìn)行后續(xù)代碼邏輯

到此這篇關(guān)于Vue+ElementUI 封裝簡易PaginationSelect組件的文章就介紹到這了,更多相關(guān)Vue ElementUI封裝PaginationSelect組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題

    ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題

    這篇文章主要介紹了ElementUI組件Dialog彈窗再次打開表單仍顯示上次數(shù)據(jù)的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue組件實(shí)現(xiàn)移動端九宮格轉(zhuǎn)盤抽獎

    vue組件實(shí)現(xiàn)移動端九宮格轉(zhuǎn)盤抽獎

    這篇文章主要為大家詳細(xì)介紹了vue組件實(shí)現(xiàn)移動端九宮格轉(zhuǎn)盤抽獎,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 關(guān)于elementUi表格合并行數(shù)據(jù)并展示序號

    關(guān)于elementUi表格合并行數(shù)據(jù)并展示序號

    這篇文章主要介紹了關(guān)于elementUi表格合并行數(shù)據(jù)并展示序號,通過給table傳入span-method方法可以實(shí)現(xiàn)合并行或列,方法的參數(shù)是一個對象,感興趣的朋友可以學(xué)習(xí)一下
    2023-04-04
  • vue實(shí)現(xiàn)用戶長時間不操作自動退出登錄功能的實(shí)現(xiàn)代碼

    vue實(shí)現(xiàn)用戶長時間不操作自動退出登錄功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue實(shí)現(xiàn)用戶長時間不操作自動退出登錄功能的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Electron+vite+vuetify項(xiàng)目搭建的流程和方法

    Electron+vite+vuetify項(xiàng)目搭建的流程和方法

    最近想用Electron來進(jìn)行跨平臺的桌面應(yīng)用開發(fā),同時想用vuetify作為組件,于是想搭建一個這樣的開發(fā)環(huán)境,這里分享下Electron+vite+vuetify項(xiàng)目搭建的流程和方法,感興趣的朋友一起看看吧
    2024-06-06
  • vue3.0中setup的兩種用法實(shí)例

    vue3.0中setup的兩種用法實(shí)例

    setup函數(shù)是一個新的組件選項(xiàng),作為在組件內(nèi)使用Composition Api的入口點(diǎn),下面這篇文章主要給大家介紹了關(guān)于vue3.0中setup的兩種用法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • vue.js實(shí)例todoList項(xiàng)目

    vue.js實(shí)例todoList項(xiàng)目

    本篇文章主要介紹了vue.js實(shí)例todoList項(xiàng)目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue3+ts項(xiàng)目之安裝eslint、prettier和sass的詳細(xì)過程

    vue3+ts項(xiàng)目之安裝eslint、prettier和sass的詳細(xì)過程

    這篇文章主要介紹了vue3+ts項(xiàng)目02-安裝eslint、prettier和sass的詳細(xì)過程,在本文講解中需要注意執(zhí)行yarn format會自動格式化css、js、html、json還有markdown代碼,需要的朋友可以參考下
    2023-10-10
  • vue項(xiàng)目實(shí)現(xiàn)中英文切換的詳細(xì)步驟

    vue項(xiàng)目實(shí)現(xiàn)中英文切換的詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目實(shí)現(xiàn)中英文切換的詳細(xì)步驟,項(xiàng)目中經(jīng)常有中英文切換的功能,接下來就簡單實(shí)現(xiàn)以下這個功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考
    2023-11-11
  • vue.js配合$.post從后臺獲取數(shù)據(jù)簡單demo分享

    vue.js配合$.post從后臺獲取數(shù)據(jù)簡單demo分享

    今天小編就為大家?guī)硪黄獀ue.js配合$.post從后臺獲取數(shù)據(jù)簡單demo分享,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論