狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【VUE】Element Plus的基礎入門

admin
2024年4月3日 11:49 本文熱度 785

1、概念

element+是一款用于制作頁面樣式,設計頁面結構的框架。相比于其他的幾個框架,這個框架設計的更為人性化,對企業(yè)級框架VUE的集成也很高。

1.1、設計原則

1.1.1、一致:

一致:

  • 與現(xiàn)實生活一致: 與現(xiàn)實生活的流程、邏輯保持一致,遵循用戶習慣的語言和概念;

  • 在界面中一致: 所有的元素和結構需保持一致,比如:設計樣式、圖標和文本、元素的位置等。

1.1.2、反饋:

  • 控制反饋: 通過界面樣式和交互動效讓用戶可以清晰的感知自己的操作;

  • 頁面反饋: 操作后,通過頁面元素的變化清晰地展現(xiàn)當前狀態(tài)。

1.1.3、效率:

  • 簡化流程: 設計簡潔直觀的操作流程;

  • 清晰明確: 語言表達清晰且表意明確,讓用戶快速理解進而作出決策;

  • 幫助用戶識別: 界面簡單直白,讓用戶快速識別而非回憶,減少用戶記憶負擔。

1.1.4、可控:

  • 用戶決策: 根據(jù)場景可給予用戶操作建議或安全提示,但不能代替用戶進行決策;

  • 結果可控: 用戶可以自由的進行操作,包括撤銷、回退和終止當前操作等。

1.2、頁面導航欄

1.2.1、頁面導航欄概念

導航可以解決用戶在訪問頁面時:在哪里,去哪里,怎樣去的問題。 一般導航會有「側欄導航」和「頂部導航」2 種類型。

類似于下圖所示:

如果針對較為復雜的網(wǎng)頁,Element+也提供了不同的類目的處理方式,如下圖所示的二級類目:

或者是更為復雜的三級類目等:

相信很多同學都見過這種類似的布局。那么這些布局在未來的前端學習中也是一個不可或缺的部分。

這些的編寫方法,我們稍后會講到。

2、安裝element+

2.1、環(huán)境支持

從之前一路學過來的同學們對這個肯定不會陌生,我們在學習一個新框架的時候一定離不開對環(huán)境的配置。我也相信現(xiàn)在應該沒有同學會用什么360、qq等瀏覽器去完成我們的代碼編寫了。

那么讓我們看看支持element+的瀏覽器。如果沒有該版本,請自行去下載最新版。這邊推薦使用google的Chrome來調(diào)試。

注意??!Element+不支持IE瀏覽器

2.2、使用vscode安裝element+

# NPM $ npm install element-plus --save 

2.2.1、使用網(wǎng)絡環(huán)境引入element+(不推薦)

<head>   <!-- Import style -->   <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />   <!-- Import Vue 3 -->   <script src="//unpkg.com/vue@3"></script>   <!-- Import component library -->   <script src="//unpkg.com/element-plus"></script> </head>

2.3、使用網(wǎng)頁引入的html版本的Element+案例(不推薦)

由于Element+和Vue的集成度很高,所以對于這個框架在Vue中的使用我們會在稍后的課程中講到。這節(jié)課我們首先嘗試一下最簡單的引入模式。至于為什么不推薦,等會在我們使用他的在線編譯的時候同學們就會明白老師為什么這么說了。

<!--使用html引入的helloworld程序--> <html>   <head>     <meta charset="UTF-8" />     <meta name="viewport" content="width=device-width,initial-scale=1.0" />     <script src="https://unpkg.com/vue@next"></script>     <!-- import CSS -->     <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css">     <!-- import JavaScript -->     <script src="https://unpkg.com/element-plus"></script>     <title>Element Plus demo</title>   </head>   <body>     <div id="app">       <el-button>{{ message }}</el-button>     </div>     <script>       const App = {         data() {           return {             message: "Hello Element Plus",           };         },       };     //   可以使用,但是不推薦     //   這塊代碼的意思在后面接觸到vue的時候會有講解       const app = Vue.createApp(App);       app.use(ElementPlus);       app.mount("#app");     </script>   </body> </html> 

3、Element+實踐

3.1、Element+在vue中的引入(了解,后面vue學習中會用到)

在后期學習過vue以后,在main.ts文件中加入如下代碼來引入Element+

// main.ts import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import App from './App.vue'  const app = createApp(App)  app.use(ElementPlus) app.mount('#app')

3.2、Element+的頁面布局

Element+官網(wǎng):https://element-plus.org/zh-CN/component/button.html

在官網(wǎng)中找到如下內(nèi)容:

這個布局容器分為幾種:

<el-container>:外層容器。 當子元素中包含 <el-header> 或 <el-footer> 時,全部子元素會垂直上下排列, 否則會水平左右排列。

<el-header>:頂欄容器。

<el-aside>:側邊欄容器。

<el-main>:主要區(qū)域容器。

<el-footer>:底欄容器。

如果覺得理解困難也沒關系,看看下圖:

如圖所示,這個布局的代碼如下:

<template>   <div>     <el-container>       <el-header>Header</el-header>       <el-main>Main</el-main>     </el-container>   </div> </template>

通過這個布局,可以把你所有的樣式都放到指定的容器中。

也可以測一測試試:點擊element+中的小瓶子

可以打開playground。美中不足的是playground有一些bug,有可能會讓你代碼在編譯中卡住。所以推薦先在自己的本地vscode中完成編譯后在放入playground來測試頁面效果。

常用的布局推薦:

代碼如下:

<template>   <div>     <el-container>       <el-aside width="200px">Aside</el-aside>       <el-container>         <el-header>Header</el-header>         <el-main>Main</el-main>       </el-container>     </el-container>   </div> </template> 

點開playground以后效果如下:

3.3、頂部欄制作

我們先采用上面的這個布局,隨后點開菜單這個選項:

找到第一個頂欄的位置,點開源代碼:

這個源代碼很長,我們按照需求截取片段:

<template>   <div>     <el-container>       <el-aside width="200px">Aside</el-aside>       <el-container>         <el-header>         <el-menu     :default-active="activeIndex2"     mode="horizontal"     background-color="#545c64"     text-color="#fff"     active-text-color="#ffd04b"     @select="handleSelect"   >     <el-menu-item index="1">Processing Center</el-menu-item>     <el-sub-menu index="2">       <template #title>Workspace</template>       <el-menu-item index="2-1">item one</el-menu-item>       <el-menu-item index="2-2">item two</el-menu-item>       <el-menu-item index="2-3">item three</el-menu-item>       <el-sub-menu index="2-4">         <template #title>item four</template>         <el-menu-item index="2-4-1">item one</el-menu-item>         <el-menu-item index="2-4-2">item two</el-menu-item>         <el-menu-item index="2-4-3">item three</el-menu-item>       </el-sub-menu>     </el-sub-menu>     <el-menu-item index="3" disabled>Info</el-menu-item>     <el-menu-item index="4">Orders</el-menu-item>   </el-menu>         </el-header>                      <el-main>Main</el-main>       </el-container>     </el-container>   </div> </template>  <script setup> import { ref } from 'vue' const activeIndex2 = ref('1') const handleSelect = (key: string, keyPath: string[]) => {   console.log(key, keyPath) } </script>

在這個里面通過修改不同參數(shù)也可以里面內(nèi)容的樣式。

3.4、側邊欄制作

我們先找到側欄的模板,然后找到剛剛頁面布局的Aside部分:

<template>   <div>     <el-container>       <el-aside width="200px">   <el-radio-group v-model="isCollapse" style="margin-bottom: 20px">     <el-radio-button :label="false">expand</el-radio-button>     <el-radio-button :label="true">collapse</el-radio-button>   </el-radio-group>   <el-menu     default-active="2"     :collapse="isCollapse"     @open="handleOpen"     @close="handleClose"    >     <el-sub-menu index="1">       <template #title>         <el-icon><location /></el-icon>         <span>Navigator One</span>       </template>       <el-menu-item-group>         <template #title><span>Group One</span></template>         <el-menu-item index="1-1">item one</el-menu-item>         <el-menu-item index="1-2">item two</el-menu-item>       </el-menu-item-group>       <el-menu-item-group title="Group Two">         <el-menu-item index="1-3">item three</el-menu-item>       </el-menu-item-group>       <el-sub-menu index="1-4">         <template #title><span>item four</span></template>         <el-menu-item index="1-4-1">item one</el-menu-item>       </el-sub-menu>     </el-sub-menu>     <el-menu-item index="2">       <el-icon><icon-menu /></el-icon>       <template #title>Navigator Two</template>     </el-menu-item>     <el-menu-item index="3" disabled>       <el-icon><document /></el-icon>       <template #title>Navigator Three</template>     </el-menu-item>     <el-menu-item index="4">       <el-icon><setting /></el-icon>       <template #title>Navigator Four</template>     </el-menu-item>   </el-menu>       </el-aside>       <el-container>         <el-header>         <el-menu     :default-active="activeIndex2"     mode="horizontal"     background-color="#545c64"     text-color="#fff"     active-text-color="#ffd04b"     @select="handleSelect"   >     <el-menu-item index="1">Processing Center</el-menu-item>     <el-sub-menu index="2">       <template #title>Workspace</template>       <el-menu-item index="2-1">item one</el-menu-item>       <el-menu-item index="2-2">item two</el-menu-item>       <el-menu-item index="2-3">item three</el-menu-item>       <el-sub-menu index="2-4">         <template #title>item four</template>         <el-menu-item index="2-4-1">item one</el-menu-item>         <el-menu-item index="2-4-2">item two</el-menu-item>         <el-menu-item index="2-4-3">item three</el-menu-item>       </el-sub-menu>     </el-sub-menu>     <el-menu-item index="3" disabled>Info</el-menu-item>     <el-menu-item index="4">Orders</el-menu-item>   </el-menu>         </el-header>                      <el-main>Main</el-main>       </el-container>     </el-container>   </div> </template>  <script setup> import { ref } from 'vue' import {   Document,   Menu as IconMenu,   Location,   Setting, } from '@element-plus/icons-vue'  const isCollapse = ref(true) const handleOpen = (key: string, keyPath: string[]) => {   console.log(key, keyPath) } const handleClose = (key: string, keyPath: string[]) => {   console.log(key, keyPath) } const activeIndex2 = ref('1') const handleSelect = (key: string, keyPath: string[]) => {   console.log(key, keyPath) }   </script>  <style> .el-menu-vertical-demo:not(.el-menu--collapse) {   width: 200px;   min-height: 400px; } </style> 

覺得這個不好看沒關系,后面我們會對這個頁面進行一個自主DIY。首先我們先修改如下參數(shù)讓他們的顏色統(tǒng)一:

    active-text-color="#ffd04b"     background-color="#545c64"     text-color="#fff"

3.4.1、側邊欄優(yōu)化

有些同學可能覺得這個按鍵不好看,希望修改一下其中的樣式。

這邊先展示一些代碼,后面在完成vue的學習以后在來讓大家完成對這塊的改編。(使用v-if來判斷目前狀態(tài)展示按鈕)

 <el-radio-group v-model="isCollapse" style="margin-bottom: 20px">           <el-radio-button :label="false" v-if="isCollapse"             ><el-icon><fold /></el-icon>           </el-radio-button>           <el-radio-button :label="true" v-if="!isCollapse"             ><el-icon><expand /></el-icon           ></el-radio-button>         </el-radio-group>

上面代碼需要在底下script中引入如下內(nèi)容:

Fold, Expand,

3.5、主體內(nèi)容增加:

Element+有兩種模式,一種是你去做一個只有頂部導航欄和側面導航欄的框體,其他內(nèi)容通過vue直接渲染到主體。另一種是直接自己在主體中編寫內(nèi)容。

由于我們現(xiàn)在沒接觸過vue,所以我們先來嘗試一下使用原生的代碼實現(xiàn)一個主體頁面編寫。

我們先找到按鈕這個位置:

找到我們喜歡的樣式

注:下面那種帶圖標的按鈕可能需要引入額外的Element-icon

我們先試試如下按鈕:

 <el-button type="warning">Warning</el-button>

把他放入我們的主體,也就是main里面:

        <el-main>          <el-button type="warning" >Warning</el-button>         </el-main>

那么這個時候呢,有些同學可能想問,如果我不想要這個樣式怎么辦呢?

讓我們來試一個東西:

        <el-main>          <el-button type="warning" style="width:300px">Warning</el-button>         </el-main>

好!神奇的事情發(fā)生了,我們驚奇的發(fā)現(xiàn)按鈕的樣式發(fā)生了改變。也就是說這個框架是支持我們之前使用過的css引入模式的。

注:雖然可以使用css樣式,但是禁止使用js的函數(shù),功能。由于新版Element+集成的是TypeScript,所以使用JS會爆發(fā)沖突。后續(xù)注冊事件可以使用vue方法來實現(xiàn)。

3.6、Element+總結

除了完成課堂案例以外,我給大家在布置一個額外的作業(yè)。

4、作業(yè):

使用Element+的骨架,幻燈片,走馬燈功能實現(xiàn)如下頁面布局:

詳細布局模板如下:

作業(yè)答案在課件中有。

注:

如果出現(xiàn)如下報錯:

直接把這條剪切掉:

重新粘貼回去,即顯示正常。


該文章在 2024/4/3 12:15:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved