最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue的el-scrollbar實(shí)現(xiàn)自定義滾動(dòng)

 更新時(shí)間:2018年05月29日 08:50:43   作者:方旭  
本篇文章給大家分享了Vue的el-scrollbar實(shí)現(xiàn)自定義滾動(dòng)實(shí)現(xiàn)的過(guò)程和實(shí)例代碼,對(duì)此有需要的朋友可以參考下。

為什么要用el-scrollbar?

最近在寫一個(gè)內(nèi)部平臺(tái)系統(tǒng),相信大家都知道,其中會(huì)有很多自定義的滾動(dòng)區(qū)域,就比如說(shuō)現(xiàn)在有一個(gè)列表需要滾動(dòng),第一個(gè)念頭就是用 overflow: scroll; ??!嗯嗯,又不是不能用!如果我不曾見(jiàn)過(guò)太陽(yáng),我本可以忍受黑暗。

大家總會(huì)見(jiàn)過(guò)不少滾動(dòng)條比較優(yōu)雅的實(shí)現(xiàn),不可否認(rèn),美是讓人愉悅的。所以這些年行走江湖我滿懷愧疚,讓大家見(jiàn)丑了。

為什么要用el-scrollbar,大家都知道,模擬一個(gè)滾動(dòng)不難,而且市面上有很多這樣的庫(kù)。我考慮的,首先項(xiàng)目用的框架是Vue,然后用的組件庫(kù)是Element,Element官網(wǎng)也有很多滾動(dòng),而且像是Select組件的下拉框也是有滾動(dòng)的,所以就不用想選擇什么了,簡(jiǎn)簡(jiǎn)單單的就用Element自己的scrollbar吧,也不用再引入什么別的包或者文件之類的。

看Element的官網(wǎng)是不可能發(fā)現(xiàn)Scrollbar這個(gè)組件的,沒(méi)有使用文檔,但是可以直接使用。

為什么要寫這一篇文章?

第一,有段時(shí)間沒(méi)寫東西了,先熱熱手;

第二,真的有同學(xué)不知道怎么用,可能主要是沒(méi)有文檔吧

先來(lái)看看它的樣子。

看了效果,接著來(lái)看一下怎么找到這個(gè)組件,官方?jīng)]有提供文檔,但確實(shí)是直接可用的一個(gè)組件。為什么這么說(shuō),這個(gè)一會(huì)再聊。先稍微看一下Element項(xiàng)目一些基本的概念。

在Element的貢獻(xiàn)指南里說(shuō)了開(kāi)發(fā)環(huán)境搭建和打包代碼的指令。打包代碼用 npm run dist ,我們?nèi)ackage.json中可以看到這個(gè)指令具體的操作。

我們簡(jiǎn)單看一下build/webpack.conf.js這個(gè)文件,會(huì)發(fā)現(xiàn)打包的文件入口是./src/index.js,我們?cè)偃タ匆幌逻@個(gè)文件。里面內(nèi)容除了包含給vue安裝插件,原型上掛載對(duì)象之類的操作外,就是用插件的方式把Element組件給注冊(cè)完成,當(dāng)然也暴露出用安裝包方式安裝后要用的所有方法和屬性。其實(shí)我們已經(jīng)看到了Scrollbar的身影。再循著去看一下packages/scrollbar/index.js'這個(gè)文件,簡(jiǎn)單的把這個(gè)組件引入后,添加了一個(gè)install方法,提供給Vue的use方法使用,然后就直接export出來(lái)了。

去src/main.js這個(gè)文件,看一下組件接收的props:

native屬性:如果為true就不顯示el的bar,也就是el模擬出來(lái)的滾動(dòng)條,如果為false就顯示模擬的滾動(dòng)條

關(guān)于tag這個(gè)屬性,可以看一下el的Select組件中的應(yīng)用。

畫個(gè)圖表示一下view和wrap這兩個(gè)區(qū)域的區(qū)別:

嘗試用一下

考慮到有些同學(xué)有時(shí)會(huì)打不開(kāi)上面的鏈接,把代碼貼出來(lái)。

HTML

<script src="http://unpkg.com/vue/dist/vue.js"></script>
<script src="http://unpkg.com/element-ui@2.3.9/lib/index.js"></script>
<div id="app">
 <h2>list:</h2>
 <el-scrollbar wrap-class="list" wrap-style="color: red;" view-style="font-weight: bold;" view-class="view-box" :native="false">
 <div v-for="value in num" :key="vlaue">
  {{value}}
 </div>
 </el-scrollbar>
</div>


CSS

@import url("http://unpkg.com/element-ui@2.3.9/lib/theme-chalk/index.css");
#app {
 height: 300px;
 overflow: hidden;
}
/*展示列表的區(qū)域,超過(guò)200px出現(xiàn)滾動(dòng)條*/
.list {
 max-height: 200px;
}


JavaScript

new Vue({
 el: "#app",
 data: {
 num: 30
 }
})

Element UI官方說(shuō)不準(zhǔn)什么時(shí)候就更新文檔了,不過(guò),真的可能是因?yàn)樘?jiǎn)單了。

相關(guān)文章

最新評(píng)論

龙江县| 泸西县| 厦门市| 城固县| 和田市| 康保县| 木里| 昌图县| 故城县| 武定县| 安陆市| 松江区| 商南县| 墨竹工卡县| 临安市| 策勒县| 长丰县| 上杭县| 临泽县| 沙坪坝区| 奉新县| 临夏县| 资阳市| 翁牛特旗| 丰都县| 建湖县| 田东县| 沙雅县| 丰县| 丰顺县| 普陀区| 英山县| 庄河市| 修水县| 汕尾市| 赫章县| 拉萨市| 桃园市| 禄劝| 鲁山县| 北京市|