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

Vue3?UI組件庫(kù)Element?Plus實(shí)例詳解

 更新時(shí)間:2026年05月04日 08:39:14   作者:吳聲子夜歌  
這篇文章主要介紹了ElementPlus框架中的一些常用組件,通過(guò)示例代碼展示了這些組件的具體使用方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

1、開(kāi)關(guān)與滑塊組件

開(kāi)關(guān)是很常見(jiàn)的一種頁(yè)面元素,有開(kāi)和關(guān)兩種狀態(tài)來(lái)支持用戶交互。在Element Plus中,使用el-switch來(lái)創(chuàng)建開(kāi)關(guān)組件。開(kāi)關(guān)組件的狀態(tài)只有兩種,如果需要使用連續(xù)狀態(tài)的組件,則可以使用el-slider組件,這個(gè)組件能夠渲染出進(jìn)度條與滑塊,用戶可以方便地對(duì)進(jìn)度進(jìn)行調(diào)節(jié)。

1.1、開(kāi)關(guān)組件

el-switch組件支持開(kāi)發(fā)者對(duì)開(kāi)關(guān)顏色、背景顏色等進(jìn)行定制,常用屬性列舉如表所示。

屬性意義
disabled設(shè)置是否禁用布爾值
loading設(shè)置是否加載中布爾值
width設(shè)置按鈕的寬度數(shù)值
active-text設(shè)置開(kāi)關(guān)打開(kāi)時(shí)的文字描述字符串
inactive-text設(shè)置開(kāi)關(guān)關(guān)閉時(shí)的文字描述字符串
active-value設(shè)置開(kāi)關(guān)打開(kāi)時(shí)的值布爾值/字符串/數(shù)值
inactive-value設(shè)置開(kāi)關(guān)關(guān)閉時(shí)的值布爾值/字符串/數(shù)值
active-color設(shè)置開(kāi)關(guān)打開(kāi)是的背景色字符串
inactive-color設(shè)置開(kāi)關(guān)關(guān)閉時(shí)的背景色字符串
validate-event改變開(kāi)關(guān)狀態(tài)時(shí),是否觸發(fā)表單校驗(yàn)布爾值
before-change開(kāi)關(guān)狀態(tài)之前調(diào)用的函數(shù)函數(shù)
Change開(kāi)關(guān)狀態(tài)發(fā)生變化后調(diào)用的函數(shù)函數(shù)

下面的代碼將演示幾種基礎(chǔ)的標(biāo)簽樣式:

<template>
  <div style="margin: 20px;">
    <el-switch
      v-model="switch1"
      active-text="會(huì)員"
      inactive-text="非會(huì)員"
      active-color="#00FF00"
      inactive-color="#FF0000">
    </el-switch>
    <el-switch
      v-model="switch2"
      active-text="加載中"
      :loading="true">
    </el-switch> 
    <el-switch
      v-model="switch3"
      inactive-text="禁用"
      :disabled="true">
    </el-switch>
  </div>
</template>

1.2、滑塊組件

當(dāng)頁(yè)面元素有多種狀態(tài)時(shí),我們可以嘗試使用滑塊組件來(lái)實(shí)現(xiàn)。滑塊組件既支持承載連續(xù)變化的值,也支持承載離散變化的值。同時(shí),滑塊組件還支持結(jié)合輸入框一起使用,可謂非常強(qiáng)大。el-slider組件的常用屬性列舉如表所示。

屬性意義
min設(shè)置滑塊的最小值數(shù)值
max設(shè)置滑塊的最大值數(shù)值
disabled設(shè)置是否禁用滑塊布爾值
step設(shè)置滑塊步長(zhǎng)數(shù)值
show-input設(shè)置是否顯示輸入框布爾值
show-input-controls設(shè)置顯示的輸入框是否有控制按鈕布爾值
input-size設(shè)置輸入框尺寸large
small
default
show-stops是否顯示間斷點(diǎn)布爾值
show-tooltip是否顯示刻度提示布爾值
format-tooltip對(duì)刻度信息進(jìn)行格式化函數(shù)
range設(shè)置是否為范圍選擇模式布爾值
vertical設(shè)置是否為豎向模式布爾值
height設(shè)置豎向模式時(shí)滑塊組件的高度字符串
marks設(shè)置標(biāo)記對(duì)象
change滑塊組件的值發(fā)生變化時(shí)調(diào)用的函數(shù),只在鼠標(biāo)拖動(dòng)結(jié)束觸發(fā)函數(shù)
input滑塊組件的值發(fā)生變化時(shí)調(diào)用的函數(shù),鼠標(biāo)揉動(dòng)過(guò)程中也會(huì)觸發(fā)函數(shù)

滑塊組件默認(rèn)的取值范圍為0~100,我們幾乎無(wú)須設(shè)置任何額外屬性,就可以對(duì)滑塊組件進(jìn)行使用,例如:

<script setup>
  import { ref, watch } from 'vue'
  const sliderValue = ref(50)
</script>
<template>
  <div style="margin: 20px;">
    <el-slider v-model="sliderValue"></el-slider> 
  </div>
</template>

可以看到,當(dāng)我們對(duì)滑塊進(jìn)行拖動(dòng)時(shí),當(dāng)前的值會(huì)顯示在滑塊上方,對(duì)于顯示的文案,我們可以通過(guò)format-tooltip屬性來(lái)進(jìn)行定制。例如,要進(jìn)行百分比顯示,示例代碼如下:

     <el-slider v-model="sliderValue" :format-tooltip="format"></el-slider>

format函數(shù)實(shí)現(xiàn)如下:

  const format = (value)=>{
    return `${value}%`
  }

如果滑塊組件可選中的值為離散的,我們可以通過(guò)step屬性來(lái)進(jìn)行控制,在上面代碼的基礎(chǔ)上,若只允許選擇以10%為間隔的值,示例代碼如下:

    <el-slider
       v-model="sliderValue"
       :format-tooltip="format"
       :step="10"
       :show-stops="true"
     ></el-slider>

如果設(shè)置了show-input屬性的值為true,則頁(yè)面還會(huì)渲染出一個(gè)輸入框,輸入框中輸入的值與滑塊組件的值之間是聯(lián)動(dòng)的,如圖所示。

el-slider組件也支持進(jìn)行范圍選擇,當(dāng)我們需要讓用戶選中一段范圍時(shí),可以設(shè)置其range屬性為true,效果如圖所示。

最后,我們?cè)賮?lái)看一下el-slider組件的marks屬性,這個(gè)屬性可以為滑塊的進(jìn)度條配置一組標(biāo)記,對(duì)于一些重要節(jié)點(diǎn),還可以使用標(biāo)記進(jìn)行突出展示。示例代碼如下:

     <el-slider v-model="sliderValue" :marks="marks"></el-slider>

marks數(shù)據(jù)配置如下:

  const marks = {
    0: '起點(diǎn)',
    50: '半程',
    90: {
      style: {color: '#ff0000'},
      label: '就到終點(diǎn)啦'
    }
  }

2、選擇器組件

選擇器組件的使用場(chǎng)景與選擇列表類似,只是其場(chǎng)景更加定制化。Element Plus中提供了時(shí)間日期、顏色相關(guān)的選擇器,在需要的場(chǎng)景中可以直接使用。

2.1、時(shí)間選擇器

el-time-picker用來(lái)創(chuàng)建時(shí)間選擇器,可以方便地供用戶選擇一個(gè)時(shí)間點(diǎn)或時(shí)間范圍。el-time-picker中的常用屬性列舉如表所示。

屬性意義
readonly設(shè)置是否只讀布爾值
disabled設(shè)置是否禁用布爾值
clearable設(shè)置是否清晰顯示按鈕布爾值
size設(shè)置輸入框尺寸large
small
default
placeholder設(shè)置占位內(nèi)容字符串
start-placeholder在范圍選擇模式下,設(shè)置起始時(shí)間的占位內(nèi)容字符串
end-placeholder在范圍選擇模式下,設(shè)置結(jié)束時(shí)間的占位內(nèi)容字符串
is-range設(shè)置是否為范圍選擇模式布爾值
arrow-control設(shè)置是否使用箭頭進(jìn)行時(shí)間選擇布爾值
align設(shè)置對(duì)齊方式left
center
right
range-separator設(shè)置范圍選擇時(shí)的分隔符字符串
format顯示在輸入框的時(shí)間格式字符串,默認(rèn)為HH:mm:ss
default-value設(shè)置選擇器打開(kāi)時(shí)默認(rèn)顯示的時(shí)間時(shí)間對(duì)象
prefix-icon設(shè)置頭部圖標(biāo)字符串
clear-icon自定義清空?qǐng)D標(biāo)字符串
disabledHours禁止選擇某些小時(shí)函數(shù)
disabledMinutes禁止選擇某些分鐘函數(shù)
disabledSeconds禁止選擇某些秒函數(shù)
change用戶選擇的值發(fā)生變化時(shí)觸發(fā)函數(shù)
blur輸入框失去焦點(diǎn)時(shí)觸發(fā)函數(shù)
focus輸入框獲取焦點(diǎn)時(shí)觸發(fā)函數(shù)

下面的代碼將演示el-time-picker組件的基本使用方法。

     <el-time-picker
       :is-range="true"
       v-model="time"
       range-separator="~"
       :arrow-control="true"
       start-placeholder="開(kāi)始時(shí)間"
       end-placeholder="結(jié)束時(shí)間"
     >
     </el-time-picker>

注意,el-time-picker創(chuàng)建的時(shí)間選擇器的樣式是表格類型的,Element Plus框架中還提供了一個(gè)el-time-select組件,這個(gè)組件渲染出的選擇器是列表樣式的。

  <el-time-select
    v-model="value"
    style="width: 240px"
    start="08:30"
    step="00:15"
    end="18:30"
    placeholder="Select time"
  />

2.2、日期選擇器

el-time-picker提供了對(duì)時(shí)間選擇的支持,如果還要選擇日期,可以使用el-date-picker組件。此組件會(huì)渲染出一個(gè)日歷視圖,用戶可以在日歷視圖上方便地進(jìn)行日期選擇。el-data-picker組件的常用屬性列舉如表所示。

屬性意義
readonly設(shè)置是否只讀布爾值
disabled設(shè)置是否禁用布爾值
editable設(shè)置本文框是否可編輯布爾值
clearable設(shè)置是否清晰顯示按鈕布爾值
size設(shè)置輸入框組件的尺寸large
small
default
placeholder設(shè)置輸入框的占位內(nèi)容字符串
start-placeholder在范圍選擇模式下,設(shè)置起始日期的占位內(nèi)容字符串
end-placeholder在范圍選擇模式下,設(shè)置結(jié)束日期的占位內(nèi)容字符串
type日歷的類型year
month
date
dates
week
datetime
datetimerange
daterange
daterange
monthrange
format日期的格式字符串,默認(rèn)為YYYY-MM-DD
range-separator設(shè)置分隔符字符串
default-value設(shè)置默認(rèn)日期Date對(duì)象
prefix-icon設(shè)置頭部圖標(biāo)字符串
clear-icon自定義清空?qǐng)D標(biāo)字符串
validate-event輸入時(shí)是否觸發(fā)表單的校驗(yàn)布爾值
disabledDatte設(shè)置需要禁用的日期函數(shù)
change用戶選擇的值發(fā)生變化時(shí)觸發(fā)函數(shù)
blur輸入框失去焦點(diǎn)時(shí)觸發(fā)函數(shù)
focus輸入框獲取焦點(diǎn)時(shí)觸發(fā)函數(shù)

el-data-picker組件的簡(jiǎn)單用法示例如下:

     <el-date-picker
       v-model="date"
       type="daterange"
       range-separator="至"
       start-placeholder="開(kāi)始日期"
       end-placeholder="結(jié)束日期"
       >
     </el-date-picker>

注意,當(dāng)el-data-picker組件的type屬性設(shè)置為datatime時(shí),它同時(shí)支持選擇日期和時(shí)間,使用非常方便。

2.3、顏色選擇器

顏色選擇器能夠提供一個(gè)調(diào)色板組件,用戶可以方便地在調(diào)色板上進(jìn)行顏色的選擇。在一些場(chǎng)景下,如果頁(yè)面支持用戶進(jìn)行顏色定制,可以使用顏色選擇器組件。顏色選擇器使用el-color-picker創(chuàng)建,常用屬性列舉如表所示。

屬性意義
disabled設(shè)置是否禁用布爾值
size設(shè)置尺寸large
small
default
show-alpha設(shè)置是否支持透明度選擇布爾值
color-format設(shè)置顏色格式hsl
hsv
hex
rgb
predefine設(shè)置預(yù)定義顏色數(shù)組

顏色選擇器的簡(jiǎn)單使用示例如下:

     <el-color-picker :show-alpha="true" v-model="color"></el-color-picker>

3、提示類組件

Element Plus框架中提供了許多提示類的組件,這類組件在實(shí)際開(kāi)發(fā)中應(yīng)用非常頻繁。當(dāng)我們需要對(duì)某些用戶的操作做出提示時(shí),就可以使用這類組件。Element Plus框架中提供的提示類組件交互非常友好,主要包括警告組件、加載提示組件、消息提醒組件、通知和彈窗組件等。

3.1、警告組件

警告組件用來(lái)在頁(yè)面上展示重要的提示信息,頁(yè)面產(chǎn)生錯(cuò)誤、用戶交互處理產(chǎn)生失敗等場(chǎng)景都可以使用警告組件來(lái)提示用戶。警告組件使用el-alert創(chuàng)建,有4種類型,分別可以使用在操作成功提示、普通信息提示、行為警告提示和操作錯(cuò)誤提示場(chǎng)景下。

el-alert警告組件的常用屬性列舉如表所示。

屬性意義
title設(shè)置標(biāo)題字符串
type設(shè)置類型success
warning
info
error
description設(shè)置描述文案字符串
closeable設(shè)置是否可以關(guān)閉提示布爾值
center設(shè)置文本是否居中顯示布爾值
close-text自定義關(guān)閉按鈕的文本字符串
show-icon設(shè)置是否顯示圖標(biāo)布爾值
effect設(shè)置主題light
dark
close關(guān)閉提示時(shí)觸發(fā)的事件函數(shù)

下面的代碼將演示不同類型的警告提示樣式。

     <el-alert title="成功提示的文案" type="success"> </el-alert>
     <br />
     <el-alert title="消息提示的文案" type="info"> </el-alert>
     <br />
     <el-alert title="警告提示的文案" type="warning"> </el-alert>
     <br />
     <el-alert title="錯(cuò)誤提示的文案" type="error"> </el-alert>


單擊提示欄上的“關(guān)閉”按鈕,提示欄會(huì)自動(dòng)被消除。

注意,el-alert是一種常駐的提示組件,除非用戶手動(dòng)單擊“關(guān)閉”按鈕,否則提示框不會(huì)自動(dòng)關(guān)閉。

3.2、消息提示

3.2.1、簡(jiǎn)單提示ElMessage

Element Plus中提供了主動(dòng)觸發(fā)消息提示的方法,當(dāng)觸發(fā)消息提示時(shí),頁(yè)面頂部會(huì)出現(xiàn)一個(gè)提示欄,展示3秒后自動(dòng)消失。簡(jiǎn)單示例如下:

     <el-button @click="popTip">彈出信息提示</el-button>

實(shí)現(xiàn)popTip方法如下:

<script setup>
  import { ref, watch } from 'vue'
  import {ElMessage} from 'element-plus'
  function popTip() {
    ElMessage({
      message: '提示內(nèi)容',
      type: 'warning'
    })
  }
</script>

ELMessage是Element Plus中內(nèi)置的方法,將其引入后可以直接使用。此方法的可配置參數(shù)列舉如表所示。

參數(shù)名意義
message設(shè)置提示的消息文字字符串或VNode
type設(shè)置提示組件的類型success
warning
info
error
duration設(shè)置展示時(shí)間數(shù)值,單位為毫秒,默認(rèn)為3000
showClose是否展示關(guān)閉按鈕布爾值
center設(shè)置文字是否居中布爾值
onClose提示欄關(guān)閉時(shí)回調(diào)的函數(shù)函數(shù)
offset設(shè)置出現(xiàn)提示欄的位置距離窗口頂部的偏移量數(shù)值

3.2.2、復(fù)雜提示ElMessageBox

ELMessage方法適用于對(duì)用戶進(jìn)行簡(jiǎn)單提示的場(chǎng)景,如果需要進(jìn)行用戶交互,則Element Plus中提供了另一個(gè)ELMessageBox方法,此方法類似于系統(tǒng)的alert、confirm和prompt方法,可以進(jìn)行用戶交互。示例代碼如下:

<script setup>
  import { ref, watch } from 'vue'
  import {ElMessage, ElMessageBox} from 'element-plus'
  function popTip() {
    ElMessageBox({
      title: '提示',
      message: '詳細(xì)的提示內(nèi)容',
      type: 'warning',
      showCancelButton: true,
      showConfirmButton: true,
      showInput: true
    })
  }
</script>

ELMessageBox方法的可配置參數(shù)列舉如表所示。

參數(shù)名意義
title設(shè)置提示框標(biāo)題字符串
message設(shè)置提示框展示的信息字符串
type設(shè)置提示框類型success
info
warning
error
callback用戶交互的回調(diào),當(dāng)用戶單擊提示框上的按鈕時(shí)觸發(fā)函數(shù)
showClose設(shè)置是否展示關(guān)閉按鈕布爾值
beforeClose提示框關(guān)閉前的回調(diào)函數(shù)
lockScroll是否在提示框出現(xiàn)時(shí)將頁(yè)面滾動(dòng)鎖定布爾值
showCancelButton設(shè)置是否顯示取消按鈕布爾值
showConfirmButton設(shè)置是否顯示確認(rèn)按鈕布爾值
cancelButtonText自定義取消按鈕文本字符串
confirmButtonText自定義確認(rèn)按鈕的文本字符串
closeOnClickModal設(shè)置是否可以通過(guò)單擊遮罩關(guān)閉當(dāng)前的提示框布爾值
closeOnPressEscape設(shè)置是否可以通過(guò)按ESC鍵來(lái)關(guān)閉當(dāng)前提示框布爾值
showInput設(shè)置是否展示輸入框布爾值
inputPlaceholder設(shè)置輸入框的占位文案字符串
inputValue設(shè)置輸入框的初始文案字符串
inputValidator設(shè)置輸入框的校驗(yàn)方法函數(shù)
inputErrorMessage設(shè)置校驗(yàn)不通過(guò)時(shí)展示的文案字符串
center設(shè)置布局是否居中布爾值
roundButton設(shè)置是否使用圓角按鈕布爾值

3.3、通知組件

通知用來(lái)全局地進(jìn)行系統(tǒng)提示,可以像消息提醒一樣出現(xiàn)一定時(shí)間后自動(dòng)關(guān)閉,也可以像提示欄那樣常駐,只有用戶手動(dòng)才能關(guān)閉。在Vue組件中,可以直接調(diào)用方法EINotification來(lái)觸發(fā)通知,常用的參數(shù)定義列舉如表所示。

參數(shù)名意義
title設(shè)置通知的標(biāo)題字符串
message設(shè)置通知的內(nèi)容字符串
type設(shè)置通知的樣式success
warning
info
error
duration設(shè)置通知的顯示時(shí)間數(shù)值,若設(shè)置為0,則不會(huì)自動(dòng)消失
position設(shè)置通知的彈出位置top-right
top-left
bottom-right
bottom-left
showClose設(shè)置是否展示關(guān)閉按鈕布爾值
onClose通知關(guān)閉時(shí)回調(diào)的函數(shù)函數(shù)
offset設(shè)置通知距離頁(yè)面邊緣的偏移量數(shù)值

示例代碼如下:

<script setup>
  import { ElNotification } from 'element-plus'
  function notify() {
    ElNotification({
      title: '通知標(biāo)題',
      message: '通知內(nèi)容',
      type: 'success',
      duration: 3000,
      position: 'top-right'
    })
  }
</script>
<template>
  <div style="margin: 20px;">
     <el-button @click="notify">彈出通知</el-button>
  </div>
</template>

4、數(shù)據(jù)承載相關(guān)組件

4.1、表格組件

表格組件能夠承載大量的數(shù)據(jù)信息。因此,在實(shí)際開(kāi)發(fā)中,需要展示大量數(shù)據(jù)的頁(yè)面都會(huì)使用到表格組件。在Element Plus中,使用el-table與el-table-column組件來(lái)構(gòu)建表格。首先,編寫如下示例代碼:

<template>
  <div style="margin: 20px;">
     <el-table :data="tableData">
       <el-table-column prop="name" label="姓名"></el-table-column>
       <el-table-column prop="age" label="年齡"></el-table-column>
       <el-table-column prop="subject" label="科目"></el-table-column>
     </el-table>
  </div>
</template>

tableData數(shù)據(jù)結(jié)構(gòu)如下:

<script setup>
  import {ref} from 'vue';
  const tableData = [
    {name: '小王', age: 29, subject: 'Java'},
    {name: '小李', age: 30, subject: 'C++'},
    {name: '小張', age: 28, subject: 'JavaScript'}
  ]
</script>

其中,el-table-column用來(lái)定義表格中的每一列,其prop屬性設(shè)置此列要渲染的數(shù)據(jù)對(duì)應(yīng)表格數(shù)據(jù)中的鍵名,label屬性設(shè)置列頭信息,代碼運(yùn)行效果如圖所示。

el-table和el-table-column組件提供了非常多的屬性供開(kāi)發(fā)者進(jìn)行定制,列舉如下。

el-table組件的常用屬性表所示。

屬性意義
data設(shè)置列表的數(shù)據(jù)源數(shù)組
height設(shè)置表格的高度,如果設(shè)置了這個(gè)屬性,表格頭會(huì)被固定數(shù)值
max-height設(shè)置表格的最大高度數(shù)值
stripe設(shè)置表格是否有斑馬紋,即相鄰的行有顏色差異布爾值
border設(shè)置表格是否有邊框布爾值
size設(shè)置表格的尺寸small
large
default
fit設(shè)置列的寬度是否自適應(yīng)布爾值
show-header設(shè)置是否顯示表頭布爾值
highlight-current-row設(shè)置是否高亮顯示當(dāng)前行布爾值
row-class-name用來(lái)設(shè)置行的class屬性,需要設(shè)置為回調(diào)函數(shù)Function({row,rowIndex)可以指定不同的行使用不同的className,返回字符串
row-style用來(lái)設(shè)置行的style屬性,需要設(shè)置為回調(diào)函數(shù)Function(frow,rowIndex)可以指定不同的行使用不同的style,返回樣式對(duì)象
cell-class-name用來(lái)設(shè)置具體單元格的classNameFunction(frow,column,rowIndex,columnIndex)
cell-style用來(lái)設(shè)置具體單元格的style屬性Function(frow,column,rowIndex,columnIndex)
header-row-class-name設(shè)置表頭行的classNameFunction(row,rowIndex)
header-row-style設(shè)置表頭行的style屬性Function(row,rowIndex)
header-cell-class-name設(shè)置表頭單元格的classNameFunction(frow.column.rowIndex.columnIndex)
header-cell-style設(shè)置表頭單元格的style屬性Function(frow.column.rowIndex,columnIndex;)
row-key用來(lái)設(shè)置行的key值Function(row)
empty-text設(shè)置空數(shù)據(jù)時(shí)展示的占位內(nèi)容字符串
default-expand-all設(shè)置是否默認(rèn)展開(kāi)所有行布爾值
expand-row-keys設(shè)置要默認(rèn)展開(kāi)的行數(shù)組
default-sort設(shè)置排序方式ascending:升序
descending:降序
show-summary是否在表格尾部顯示合計(jì)行布爾值
sum-text設(shè)置合計(jì)行第一列的文本字符串
summary-method用來(lái)定義合計(jì)方法Function({columns,data})
span-method用來(lái)定義合并行或列的方法Function(row,column,rowIndex, columnIndex)
lazy是否對(duì)子節(jié)點(diǎn)進(jìn)行懶加載布爾值
load數(shù)據(jù)懶加載方法函數(shù)
tree-props渲染嵌套數(shù)據(jù)的配置選項(xiàng)對(duì)象
select選中某行數(shù)據(jù)時(shí)回調(diào)的函數(shù)函數(shù)
select-all全選后回調(diào)的函數(shù)函數(shù)
selection-change選擇項(xiàng)發(fā)生變化時(shí)回調(diào)的函數(shù)函數(shù)
cell-mouse-enter鼠標(biāo)覆蓋到單元格時(shí)回調(diào)的函數(shù)函數(shù)
cell-mouse-leave鼠標(biāo)離開(kāi)單元格時(shí)回調(diào)的函數(shù)函數(shù)
cell-click當(dāng)某個(gè)單元格被單擊時(shí)回調(diào)的函數(shù)函數(shù)
cell-dblclick當(dāng)某個(gè)單元格被雙擊時(shí)回調(diào)的函數(shù)函數(shù)
row-click當(dāng)某一行被單擊時(shí)回調(diào)的函數(shù)函數(shù)
row-contextmenu當(dāng)某一行被右擊時(shí)回調(diào)的函數(shù)函數(shù)
row-dblclick當(dāng)某一行被雙擊時(shí)回調(diào)的函數(shù)函數(shù)
header-click表頭被單擊時(shí)回調(diào)的函數(shù)函數(shù)
header-contextmenu表頭被右擊時(shí)回調(diào)的函數(shù)函數(shù)
sort-change排序發(fā)生變化時(shí)回調(diào)的函數(shù)函數(shù)
filter-change篩選條件發(fā)生變化時(shí)回調(diào)的函數(shù)函數(shù)
current-change表格當(dāng)前行發(fā)生變化時(shí)回調(diào)的函數(shù)函數(shù)
header-dragend拖動(dòng)表頭改變列寬度時(shí)回調(diào)的函數(shù)函數(shù)
expand-change當(dāng)某一行展開(kāi)會(huì)關(guān)閉時(shí)回調(diào)的函數(shù)函數(shù)

通過(guò)表中的屬性列表可以看到,el-table組件非常強(qiáng)大,除能夠渲染常規(guī)的表格外,還支持行列合并、合計(jì)、行展開(kāi)、多選、排序和篩選等,這些功能很多需要結(jié)合el-table-column來(lái)使用。

el-table-column組件的常用屬性列舉如表所示。

屬性意義
type設(shè)置當(dāng)前列的類型,默認(rèn)無(wú)類型,則為常規(guī)的數(shù)據(jù)列selection:多選類型
index:標(biāo)號(hào)類型
expand:展開(kāi)類型
index自定義索引Function(index)
column-key設(shè)置列的key值,用來(lái)進(jìn)行篩選字符串
label設(shè)置顯示的標(biāo)題字符串
prop設(shè)置此列對(duì)應(yīng)的數(shù)據(jù)字段字符串
width設(shè)置列的寬度字符串
min-width設(shè)置列的最小寬度字符串
fixed設(shè)置此列是否固定,默認(rèn)不固定left:固定左側(cè)
right:固定右側(cè)
render-header使用函數(shù)來(lái)渲染列的標(biāo)題部分Function({column,Sindex }
sortable設(shè)置對(duì)應(yīng)列是否可排序布爾值
sort-method自定義數(shù)據(jù)排序的方法函數(shù)
sort-by設(shè)置以哪個(gè)字段進(jìn)行排序字符串
resizable設(shè)置是否可以通過(guò)拖動(dòng)來(lái)改變此列的寬度布爾值
filter-method自定義過(guò)濾數(shù)據(jù)的方法函數(shù)

4.2、導(dǎo)航菜單組件

導(dǎo)航組件為頁(yè)面提供導(dǎo)航功能的菜單,導(dǎo)航組件一般出現(xiàn)在頁(yè)面的頂部或側(cè)面,單擊導(dǎo)航組件上不同的欄目頁(yè)面會(huì)對(duì)應(yīng)跳轉(zhuǎn)到指定的頁(yè)面。在Element Plus中,使用el-menu、el-sub-menu與el-menu-item來(lái)定義導(dǎo)航組件。

下面的示例代碼將演示頂部導(dǎo)航的基本使用方法。

<template>
  <div style="margin: 20px;">
    <el-menu mode="horizontal">
      <el-menu-item index="1">首頁(yè)</el-menu-item>
      <el-sub-menu index="2">
        <template #title>廣場(chǎng)</template>
        <el-menu-item index="2-1">音樂(lè)</el-menu-item>
        <el-menu-item index="2-2">視頻</el-menu-item>
        <el-menu-item index="2-3">游戲</el-menu-item>
        <el-sub-menu index="2-4">
          <template #title>體育</template>
          <el-menu-item index="2-4-1">籃球</el-menu-item>
          <el-menu-item index="2-4-2">足球</el-menu-item>
          <el-menu-item index="2-4-3">排球</el-menu-item>
        </el-sub-menu>
      </el-sub-menu>
      <el-menu-item index="3" :disabled="true">個(gè)人中心</el-menu-item>
      <el-menu-item index="4">設(shè)置</el-menu-item>
    </el-menu>
  </div>
</template>

如以上代碼所示,el-sub-menu的title插槽用來(lái)定義子菜單的標(biāo)題,其內(nèi)部可以繼續(xù)嵌套子菜單組件,el-menu組件的mode屬性可以設(shè)置導(dǎo)航的布局方式為水平或豎直。運(yùn)行上述代碼,效果如圖所示。

el-menu組件非常簡(jiǎn)潔,提供的可配置屬性不多,列舉如表所示。

屬性意義
mode設(shè)置菜單模式vertical:豎直
horizontal:.水平
collapse是否水平折疊收起菜單,只在vertical模式下有效布爾值
background-color設(shè)置菜單的背景色字符串
text-color設(shè)置菜單的文字顏色字符串
active-text-color設(shè)置當(dāng)前菜單激活時(shí)的文字顏色字符串
default-active設(shè)置默認(rèn)激活的菜單字符串
default-openeds設(shè)置默認(rèn)展開(kāi)的子菜單,需要設(shè)置為子菜單index的列表數(shù)組
unique-opened是否只保持一個(gè)子菜單展開(kāi)布爾值
menu-trigger設(shè)置子菜單展開(kāi)的觸發(fā)方式,只在horizontal模式下有效hover:鼠標(biāo)覆蓋展開(kāi)
click:鼠標(biāo)單擊展開(kāi)
router是否使用路由模式布爾值
collapse-transition是否開(kāi)啟折疊動(dòng)畫布爾值
select選中某個(gè)菜單項(xiàng)時(shí)回調(diào)的函數(shù)函數(shù)
open子菜單展開(kāi)時(shí)回調(diào)的函數(shù)函數(shù)
close子菜單收起時(shí)回調(diào)的函數(shù)函數(shù)

el-sub-menu組件的常用屬性列舉如表所示。

屬性意義
index唯一標(biāo)識(shí)字符串
show-timeout設(shè)置展開(kāi)子菜單的延時(shí)數(shù)值,單位為毫秒
hide-timeout設(shè)置收起子菜單的延時(shí)數(shù)值,單位為毫秒
disabled設(shè)置是否禁用布爾值

導(dǎo)航組件最重要的作用是進(jìn)行頁(yè)面管理,通常我們會(huì)結(jié)合路由組件進(jìn)行使用,通過(guò)導(dǎo)航與路由,頁(yè)面的跳轉(zhuǎn)管理會(huì)非常簡(jiǎn)單方便。

4.3、標(biāo)簽頁(yè)組件

標(biāo)簽組件用來(lái)將頁(yè)面分割成幾個(gè)部分,單擊不同的標(biāo)簽可以對(duì)頁(yè)面內(nèi)容進(jìn)行切換。使用el-tabs創(chuàng)建標(biāo)簽頁(yè)組件的示例代碼如下:

<template>
  <div style="margin: 20px;">
     <el-tabs type="border-card">
       <el-tab-pane label="頁(yè)面1" name="1">頁(yè)面1</el-tab-pane>
       <el-tab-pane label="頁(yè)面2" name="2">頁(yè)面2</el-tab-pane>
       <el-tab-pane label="頁(yè)面3" name="3">頁(yè)面3</el-tab-pane>
       <el-tab-pane label="頁(yè)面4" name="4">頁(yè)面4</el-tab-pane>
     </el-tabs>
  </div>
</template>

代碼運(yùn)行效果如圖所示,單擊不同的標(biāo)簽將會(huì)切換不同的內(nèi)容。

el-tabs組件的常用屬性列表如表所示。

屬性意義
closable設(shè)置標(biāo)簽是否可關(guān)閉布爾值
addable標(biāo)簽是否可增加布爾值
editable標(biāo)簽是否可編輯(增加和刪除)布爾值
tab-position標(biāo)簽欄所在的位置top
right
bottom
left
stretch設(shè)置標(biāo)簽是否自動(dòng)撐開(kāi)布爾值
before-leave當(dāng)標(biāo)簽即將切換時(shí)回調(diào)的函數(shù)函數(shù)
tab-click當(dāng)某個(gè)標(biāo)簽被選中時(shí)回調(diào)的函數(shù)函數(shù)
tab-remove當(dāng)某個(gè)標(biāo)簽被移除時(shí)回調(diào)的函數(shù)函數(shù)
tab-add單擊新增標(biāo)簽按鈕時(shí)回調(diào)的函數(shù)函數(shù)
edit單擊Tab的新增或移除按鈕時(shí)回調(diào)的函數(shù)函數(shù)

el-tab-pane用來(lái)定義具體的每個(gè)標(biāo)簽卡,常用屬性列舉如表所示。

屬性意義
label設(shè)置標(biāo)簽卡的標(biāo)題字符串
disabled設(shè)置當(dāng)前標(biāo)簽卡是否禁用布爾值
name與標(biāo)簽卡綁定的value數(shù)據(jù)字符串
closable設(shè)置此標(biāo)簽卡布爾值
lazy設(shè)置標(biāo)簽是否延遲渲染布爾值

對(duì)于el-tab-pane組件,可以通過(guò)其內(nèi)部的label插槽來(lái)自定義標(biāo)題內(nèi)容。

4.4、抽屜組件

抽屜組件是一種全局的彈窗組件,在流行的網(wǎng)頁(yè)應(yīng)用中非常常見(jiàn)。當(dāng)用戶打開(kāi)抽屜組件時(shí),會(huì)從頁(yè)面的邊緣滑出一個(gè)內(nèi)容面板,我們可以靈活地定制內(nèi)容面板的內(nèi)容來(lái)實(shí)現(xiàn)產(chǎn)品的需求。示例代碼如下:

<script setup>
  import {ref} from 'vue';
  const drawer = ref(false);
</script>
<template>
  <div style="margin: 20px;">
    <div style="margin:300px">
      <el-button @click="drawer = true" type="primary">
        點(diǎn)我打開(kāi)抽屜
      </el-button>
    </div>
    <el-drawer
      title="抽屜面板的標(biāo)題"
      v-model="drawer"
      direction="ltr">
      抽屜面板的內(nèi)容
    </el-drawer>
  </div>
</template>

注意,不要忘記在組件的data選項(xiàng)中定義drawer屬性控制抽屜的開(kāi)關(guān)。在上述代碼中,我們使用按鈕控制抽屜的打開(kāi),el-drawer組件的direction屬性可以設(shè)置抽屜的打開(kāi)方向。運(yùn)行代碼,效果如圖所示。

4.5、布局容器組件

布局容器用來(lái)方便、快速地搭建頁(yè)面的基本結(jié)構(gòu)。通過(guò)觀察當(dāng)前流行的網(wǎng)站頁(yè)面,可以發(fā)現(xiàn),它們從布局結(jié)構(gòu)上都是十分相似的。一般都是由頭部模塊、尾部模塊、側(cè)欄模塊和主內(nèi)容模塊構(gòu)成。

在Element Plus中,使用el-container創(chuàng)建布局容器,其內(nèi)部的子元素一般包括el-header、el-aside、el-main或el-footer。其中:

  • el-header定義頭部模塊
  • el-aside定義側(cè)邊欄模塊
  • el-main定義主內(nèi)容模塊
  • el-footer定義尾部模塊

el-container組件可配置的屬性只有一個(gè),如表所示。

屬性意義
direction設(shè)置子元素的排列方式horizontal:水平
vertical:豎直

el-header組件和el-footer組件默認(rèn)會(huì)水平撐滿頁(yè)面,可以設(shè)置其渲染高度,如表所示。

屬性意義
height設(shè)置高度字符串

el-aside組件的默認(rèn)高度會(huì)撐滿頁(yè)面,可以設(shè)置其寬度,如表所示。

屬性意義
width設(shè)置寬度字符串

示例代碼如下:

<template>
  <el-container>
    <el-header height="80px" style="background-color: gray;">Header</el-header>
    <el-container>
      <el-aside width="200px" style="background-color: red;">Aside</el-aside>
      <el-container>
        <el-main>
          <div style="height: 300px; background-color: #f1f1f1;">內(nèi)容</div>
        </el-main>
        <el-footer height="80px" style="background-color: gray;">Footer</el-footer>
      </el-container>
    </el-container>
  </el-container>
</template>

5、綜合示例

5.1、示例一

頁(yè)面設(shè)計(jì)如下:頁(yè)面由三部分組成。首先是頂部的標(biāo)題欄,用于展示當(dāng)前頁(yè)面的名稱。其次是左側(cè)的側(cè)邊欄,用于選擇年級(jí)和班級(jí)。中間的內(nèi)容區(qū)域進(jìn)一步分為兩個(gè)部分,上半部分是標(biāo)題區(qū),顯示一些控制按鈕,例如“新增學(xué)生信息”和“搜索學(xué)生信息”?;下半部分則展示當(dāng)前班級(jí)的完整學(xué)生列表,包括學(xué)生的姓名、年齡、性別以及信息添加的日期。頁(yè)面布局的草圖如圖所示。

<script setup>
  import {ref} from 'vue'
  const desc = ref('七年級(jí)1班學(xué)生統(tǒng)計(jì)')
  const stus = ref([
    {name: '小王', age: 14, sex: '男', date: '2020年8月15日'},
    {name: '小張', age: 15, sex: '男', date: '2020年5月15日'},
    {name: '小秋', age: 15, sex: '女', date: '2020年8月15日'},
  ])
  function selectFunc(index) {
    let strs = ['七', '八', '九']
    let rank = strs[Math.floor((index - 1) / 3)]
    desc.value = `${rank}年級(jí)${((index - 1) % 3) + 1}班學(xué)生統(tǒng)計(jì)`
  }
</script>
<style lang="css" scoped>
  .header{
    font-style: 30px;
    line-height: 80px;
    background-color: f1f1f1;
  }
  .aside{
    background-color: wheat;
    height: 600px;
  }
  .subHeader{
    background-color: cornflowerblue;
  }
  .desc{
    font-style: 25px;
    line-height: 80px;
    color: white;
    width: 800px;
  }
  .content{
    height: 410px;
  }
  .footer{
    height: 410px;
  }
  .footer{
    background-color: dimgray;
    color: white;
    font-style: 17px;
    line-height: 30px;
  }
</style>
<template>
  <el-container>
    <el-header height="80px" style="padding: 0">
      <div class="header">教務(wù)系統(tǒng)學(xué)生管理</div>
    </el-header>
    <el-container>
      <el-aside width="200px">
        <el-menu class="aside" @select="selectFunc" default-avtive="1" :unique-opened="true">
          <el-sub-menu index="1">
            <template #title>
              <span>七年級(jí)</span>
            </template>
            <el-menu-item index="1">1班</el-menu-item>
            <el-menu-item index="2">2班</el-menu-item>
            <el-menu-item index="3">3班</el-menu-item>
          </el-sub-menu>
          <el-sub-menu index="2">
            <template #title>
              <span>八年級(jí)</span>
            </template>
            <el-menu-item index="4">1班</el-menu-item>
            <el-menu-item index="5">2班</el-menu-item>
            <el-menu-item index="6">3班</el-menu-item>
          </el-sub-menu>
          <el-sub-menu index="3">
            <template #title>
              <span>九年級(jí)</span>
            </template>
            <el-menu-item index="7">1班</el-menu-item>
            <el-menu-item index="8">2班</el-menu-item>
            <el-menu-item index="9">3班</el-menu-item>
          </el-sub-menu>
        </el-menu>
      </el-aside>
      <el-container>
        <el-header height="80px" style="padding:0;margin:0">
          <el-container class="subHeader">
            <div class="desc">{{ desc }}</div>
            <el-button style="width: 100px; height:30px; margin:20px;">新增記錄</el-button>
          </el-container>
        </el-header>
        <el-main style="margin: 0; padding: 0">
          <div class="content">
            <el-table :data="stus">
              <el-table-column prop="name" label="姓名"></el-table-column>
              <el-table-column prop="age" label="年齡"></el-table-column>
              <el-table-column prop="sex" label="性別"></el-table-column>
              <el-table-column prop="date" label="錄入日期"></el-table-column>
            </el-table>
          </div>
        </el-main>
        <el-footer height="30px" class="footer">Vue框架搭建,Element Plus提供組件支持</el-footer>
      </el-container>
    </el-container>
  </el-container>
</template>

5.2、示例二

  1. 開(kāi)發(fā)一個(gè)用戶列表組件,用于展示用戶數(shù)據(jù)。
  2. 實(shí)現(xiàn)用戶添加功能。
  3. 實(shí)現(xiàn)用戶刪除功能。
<template>
    <el-button @click="addUser">添加用戶</el-button>
    <el-table :data="users">
        <el-table-column prop="name" label="姓名"></el-table-column>
        <el-table-column prop="age" label="年齡"></el-table-column>
        <el-table-column label="操作">
            <template #default="{$index}">
                <el-button @click="deleteUser({$index})">刪除</el-button>
            </template>
        </el-table-column>
    </el-table>
</template>
<script setup>
    import {ref} from 'vue'
    const users = ref([
        {name: '張三', age: 20},
        {name: '李四', age: 25}
    ])
    function deleteUser(user) {
        //刪除用戶的邏輯
        users.value.splice(indexedDB, 1)
    }
    function addUser() {
        //添加用戶的邏輯
        users.value.push({name: '新用戶', age: 30})
    }
</script>

到此這篇關(guān)于Vue3 UI組件庫(kù)Element Plus實(shí)例詳解的文章就介紹到這了,更多相關(guān)vue3 ui組件庫(kù)Element Plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue項(xiàng)目調(diào)試的三種方法總結(jié)

    vue項(xiàng)目調(diào)試的三種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于vue項(xiàng)目調(diào)試的三種方法,大家可以根據(jù)需要選擇調(diào)試方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Vue實(shí)現(xiàn)點(diǎn)擊導(dǎo)航欄當(dāng)前標(biāo)簽后變色功能

    Vue實(shí)現(xiàn)點(diǎn)擊導(dǎo)航欄當(dāng)前標(biāo)簽后變色功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)點(diǎn)擊導(dǎo)航欄當(dāng)前標(biāo)簽后變色功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Vue filter 過(guò)濾器、以及在table中的使用介紹

    Vue filter 過(guò)濾器、以及在table中的使用介紹

    這篇文章主要介紹了Vue filter 過(guò)濾器、以及在table中的使用介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vue子組件與父組件詳細(xì)解析

    Vue子組件與父組件詳細(xì)解析

    這篇文章主要介紹的是Vue子組件與父組件,什么是父組件,什么是子組件很多時(shí)候面對(duì)這個(gè)問(wèn)題我們都會(huì)有所混淆,下面文章我們就來(lái)詳細(xì)介紹,需要的朋友可以參考一下
    2021-10-10
  • Vue.js 圖標(biāo)選擇組件實(shí)踐詳解

    Vue.js 圖標(biāo)選擇組件實(shí)踐詳解

    這篇文章主要介紹了Vue.js 圖標(biāo)選擇組件實(shí)踐詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼

    vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼

    這篇文章主要介紹了vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • 基于Vue2實(shí)現(xiàn)簡(jiǎn)易的省市區(qū)縣三級(jí)聯(lián)動(dòng)組件效果

    基于Vue2實(shí)現(xiàn)簡(jiǎn)易的省市區(qū)縣三級(jí)聯(lián)動(dòng)組件效果

    這是一個(gè)基于Vue2的簡(jiǎn)易省市區(qū)縣三級(jí)聯(lián)動(dòng)組件,可以控制只顯示省級(jí)或只顯示省市兩級(jí),可設(shè)置默認(rèn)值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下
    2018-11-11
  • VUE 實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板的兩種方法

    VUE 實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板的兩種方法

    這篇文章主要介紹了VUE 實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板功能,本文通過(guò)兩種方法,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • 老生常談vue的生命周期

    老生常談vue的生命周期

    這篇文章主要為大家詳細(xì)介紹了vue的生命周期,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • vue3如何通過(guò)provide和inject實(shí)現(xiàn)多層級(jí)組件通信

    vue3如何通過(guò)provide和inject實(shí)現(xiàn)多層級(jí)組件通信

    這篇文章主要介紹了vue3如何通過(guò)provide和inject實(shí)現(xiàn)多層級(jí)組件通信,本文通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11

最新評(píng)論

密云县| 剑阁县| 高州市| 永嘉县| 五家渠市| 博野县| 浦北县| 泰顺县| 洛阳市| 青阳县| 贺州市| 新津县| 溧阳市| 百色市| 长沙市| 临西县| 沈丘县| 稷山县| 龙南县| 大邑县| 宜春市| 贵港市| 乌海市| 即墨市| 洪江市| 美姑县| 万年县| 离岛区| 伊金霍洛旗| 安化县| 华坪县| 浦县| 镇坪县| 岳普湖县| 平舆县| 色达县| 蓝田县| 纳雍县| 衡南县| 台北县| 郓城县|