通過model屬性實現簡易分頁組件

image.png
<template>
  <section class="pagination">
    <div class="container">
      <span @click="onClickPre" :class="current === 1 ? 'disabled' : ''"
        ><i class="iconfont icon-arrowleft"></i
      ></span>
      <span
        v-for="num in len"
        :class="num === current ? 'actived' : ''"
        @click="setCurValue(num)"
        >{{ num }}</span
      >
      <span @click="onClickNext" :class="current === len ? 'disabled' : ''"
        ><i class="iconfont icon-arrowright"></i
      ></span>
    </div>
  </section>
</template>

<script>
export default {
  name: 'MPagination',
  model: {
    // v-model方法
    prop: 'current',
    event: 'change'
  },
  props: {
    total: {
      require: true
    },
    pageSize: {
      type: Number,
      default: 10
    },
    current: {
      type: Number,
      default: 1
    }
  },
  computed: {
    len () {
      return this.total && Math.ceil(this.total / this.pageSize)
    }
  },
  methods: {
    setCurValue (current) {
      this.$emit('change', current)
    },
    onClickNext () {
      if (this.current < this.len) {
        this.$emit('change', this.current + 1)
      }
    },
    onClickPre () {
      if (this.current > 1) {
        this.$emit('change', this.current - 1)
      }

    }
  }
}
</script>

<style lang="less" scoped>
.pagination {
  padding: 3rem 0 5rem 0;
}

.pagination span {
  display: inline-block;
  padding: 1rem 1.5rem;
  border: 1px solid #243a6f;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  cursor: pointer;
  transition: all 300ms ease-in-out;
  &:not(.disabled) {
    &:hover,
    &.actived {
      border: 1px solid #243a6f;
      background-color: #243a6f;
      color: #fff;
    }
  }

  &.disabled {
    color: #d9d9d9;
    border: 1px solid #d9d9d9;
    cursor: not-allowed;
  }
}
</style>
    <m-pagination
          v-model="current"
          :total="26"
          :pageSize="10"
        ></m-pagination>
  • 關鍵實現:


    image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子漓库,更是在濱河造成了極大的恐慌,老刑警劉巖肺魁,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異隔节,居然都是意外死亡鹅经,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門怎诫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘾晃,“玉大人,你說我怎么就攤上這事刽虹⌒锇疲” “怎么了呢诬?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵涌哲,是天一觀的道長胖缤。 經常有香客問我,道長阀圾,這世上最難降的妖魔是什么哪廓? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮初烘,結果婚禮上涡真,老公的妹妹穿的比我還像新娘。我一直安慰自己肾筐,他們只是感情好哆料,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吗铐,像睡著了一般东亦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唬渗,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天典阵,我揣著相機與錄音,去河邊找鬼镊逝。 笑死壮啊,一個胖子當著我的面吹牛,可吹牛的內容都是我干的撑蒜。 我是一名探鬼主播歹啼,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼座菠!你這毒婦竟也來了染突?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤辈灼,失蹤者是張志新(化名)和其女友劉穎份企,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體巡莹,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡司志,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了降宅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骂远。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖腰根,靈堂內的尸體忽然破棺而出激才,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布瘸恼,位于F島的核電站劣挫,受9級特大地震影響,放射性物質發(fā)生泄漏东帅。R本人自食惡果不足惜压固,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一靠闭、第九天 我趴在偏房一處隱蔽的房頂上張望帐我。 院中可真熱鬧,春花似錦愧膀、人聲如沸拦键。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狼钮。三九已至,卻和暖如春熬芜,著一層夾襖步出監(jiān)牢的瞬間莲镣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鼓拧,地道東北人半火。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像季俩,于是被迫代替她去往敵國和親钮糖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容