iView 實戰系列教程(21課時)_4.iView 實戰教程之布局篇(二)


https://github.com/iview/iview

下載iview的代碼





Layout布局大概的樣子

Iview的源代碼。Layout


組件比較簡單,,里面一個slot

Sider是最復雜的組件

這里用了v-model的語法糖是,是vue里面的

上面的v-model實際就相當於下面的這段,通過事件改變了value的值

了解了以上幾個組件的大概的源碼 ,下面看一下 常見的幾種布局:

實戰-后台搭建

17分鍾開始

創建一個空的項目,只安裝vue-router和iview這兩個插件

項目名稱:iview-layout

重新安裝iview的插件




點擊卸載,重新安裝

重新安裝





出現了plugins文件夾,里面包含iview.js才表示安裝成功了iview

頁面效果實現

要實現的頁面的效果:


先把上面四個菜單的文件創建上

在views文件夾內創建四個文件。

然后在router里面把這幾個路由添加進去


注意把home注釋掉。要不然引用了 但是沒有用 就會報錯。



這里就一個router-view


一種實現思路把主題內容放到router-view內。頂部header和左側slider都在外部 router-view的頂部

另外一種:
在components自定義組件的形式:
中間用slot。
缺點:每個頁面內都寫一下自定義組件。

本次我們來使用的是第二種方案:在components里面自定義組件,然后在每個頁面里面去把它引入進來。

現在components內創建dev-article.vue文件。,里面目前是一個空的模板


我們在main.js里面去注冊這個組件。
這樣我們就把這個組件全局注冊到我們的項目里面。任何一個地方就可以直接飲用,而不是局部的去導入了


測試一下我們的組件:
我們在組件內隨便 一個hello。外層要用div去包裹

我們子啊views/App.vue直接引入過來這個全局的組件。

修改整一個地方,這里飲用的路徑寫錯了。修改為dev-article

默認地址是空的:


我們在router內增加一個,當時默認路徑的時候,重定向到app這個頁面。

這樣我們默認就到重定向到app這個頁面了

那就說明我的流程就已經通了

剩下就是完善我們的組件 dev-article.vue

首頁布局

Layout外層肯定是一個layout組件,所以我們先寫一個layout作為它做外層的一個跟組件

左邊是sider,為了讓它的布局更清晰一點。我們在里面再嵌套個layout

基本的一個布局的效果
Header隨着頁面的滾動而懸停在頂部的。

背景色淺黑色的陰影,用rgba
Header的樣式

頂部的一個效果,但是沒有背景顏色

用grid布局對header進行三列的布局
包含在Row標簽內。 因為IDE工具對於Col識別不是很友好,所以這里使用i-rol來代替
4+14+4=22 加上左邊平移的一列和最后空出來的一列剛好是24列


第一列是Log。在這里是個靜態資源 ,我們直接導過來就可以了

顯示的太大了 我們需要額外的寫一些樣式,來調整尺寸

Logo樣式

菜單布局


點擊后面三個菜單 ,頁面上都沒有任何東西

頭像菜單下拉和通知


32分鍾開始

里面三個元素是等分的,所以我們在右側再嵌套一層柵格
三個等分就是span都是8

把他這個頭像的地址復制出來


下拉菜單用的Dropdownmenu這個組件。
屬性slot=list指定它為Dropdown的list下拉菜單

設置用的組件Badge




設置和退出之間增加一個間隔線
Divided是一個bool值開啟就可以了。


通知的下拉菜單效果

我們會用badage的組件


點擊圖標進行復制

這樣就直接把圖標代碼復制過來了。


最終代碼:size是設置尺寸。
:count是緯度的消息的數量


當然你也可以通過變量的形式去綁定

查看頁面效果:
代碼是數字圖標:


但是數字距離圖標的距離有一些問題。
這個時候我們可以使用offset,接收一個數組,20表示距離頂部,4表示距離右側



直接復制這部分的tab的代碼。


直接復制tabs的代碼到vscode中進行修改

增加一個居中的class屬性

最下面增加一個class的居中。


設置tabs的name值為第一個tab的name值那么默認選中的是第一個tab


高度有一點小

設置一下高度為200就可以了。

糾正錯誤col列寫錯了


糾正后的樣式:

選擇配色 抽屜


抽屜在iview3.1.0版本中,新增加的

官方demo的效果。


在layput的最下方增加抽屜的標簽。用v-model綁定一個變量。

給icon圖標增加點擊事件。


這樣當點擊color的icon圖標聚會顯示抽屜了


抽屜默認不顯示 關閉的按鈕

這樣就不帶刪除的按鈕了。

優化代碼:

優化按鈕下面的灰色的線條

我們可以對css進行替換就可以了。F12查看這里的css樣式

這里是一個:after的偽類

這里是一個1像素的高的灰色的線的背景

視頻覆蓋這個css屬性為display:none就可以了。但是我本地的代碼始終有問題。

視頻中的效果:

繼續開發左側的sider組件

先給sider寫css 的樣式

v-mode綁定的值

編寫sider的css樣式

Option1被擋住了。那么我們給menu增加css 的樣式。


點擊收起的時候讓options名字消失 光顯示icon的圖標


使用css 來控制,這是最簡單的方法

通過isCollapsied來判斷。Clas屬性cider-hide是否顯示

定位menuItem中的span標簽進行隱藏

按照層級關系去隱藏



展開的效果

面包屑組件

增加一個calss屬性,並且動態設置另外一個class屬性

Left是左側的sider的寬度
距離左側240是sider的寬度
距離頂部是header高度
增加一個內間距padidng 為16px
然后增加一個動畫的效果 all是對所有的元素 使用動畫。
0.2s秒的延遲,效果是eas-in-out的效果


增加一個card的占位。然后加了style的css屬性
Slot就是每個頁面要定義的內容了。

Slot承載我們每個頁面核心內容的地方




51分鍾面包屑組件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM