ElementPlus Tag 標簽

2021-09-26 10:40 更新

Tag 標簽

用于標記和選擇。

基礎(chǔ)用法


由type屬性來選擇 tag 的類型,也可以通過color屬性來自定義背景色。

<template>
  <el-tag>標簽一</el-tag>
  <el-tag type="success">標簽二</el-tag>
  <el-tag type="info">標簽三</el-tag>
  <el-tag type="warning">標簽四</el-tag>
  <el-tag type="danger">標簽五</el-tag>
</template>

可移除標簽


設(shè)置closable屬性可以定義一個標簽是否可移除。默認的標簽移除時會附帶漸變動畫,如果不想使用,可以設(shè)置disable-transitions屬性,它接受一個Boolean,true 為關(guān)閉。

<template>
  <el-tag v-for="tag in tags" :key="tag.name" closable :type="tag.type">
    {{tag.name}}
  </el-tag>
</template>

<script>
  export default {
    data() {
      return {
        tags: [
          { name: '標簽一', type: '' },
          { name: '標簽二', type: 'success' },
          { name: '標簽三', type: 'info' },
          { name: '標簽四', type: 'warning' },
          { name: '標簽五', type: 'danger' },
        ],
      }
    },
  }
</script>

動態(tài)編輯標簽

動態(tài)編輯標簽可以通過點擊標簽關(guān)閉按鈕后觸發(fā)的 close 事件來實現(xiàn)


<template>
  <el-tag
    :key="tag"
    v-for="tag in dynamicTags"
    closable
    :disable-transitions="false"
    @close="handleClose(tag)"
  >
    {{tag}}
  </el-tag>
  <el-input
    class="input-new-tag"
    v-if="inputVisible"
    v-model="inputValue"
    ref="saveTagInput"
    size="small"
    @keyup.enter="handleInputConfirm"
    @blur="handleInputConfirm"
  >
  </el-input>
  <el-button v-else class="button-new-tag" size="small" @click="showInput"
    >+ New Tag</el-button
  >
</template>

<script>
  export default {
    data() {
      return {
        dynamicTags: ['標簽一', '標簽二', '標簽三'],
        inputVisible: false,
        inputValue: '',
      }
    },
    methods: {
      handleClose(tag) {
        this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1)
      },

      showInput() {
        this.inputVisible = true
        this.$nextTick((_) => {
          this.$refs.saveTagInput.$refs.input.focus()
        })
      },

      handleInputConfirm() {
        let inputValue = this.inputValue
        if (inputValue) {
          this.dynamicTags.push(inputValue)
        }
        this.inputVisible = false
        this.inputValue = ''
      },
    },
  }
</script>
<style>
  .el-tag + .el-tag {
    margin-left: 10px;
  }
  .button-new-tag {
    margin-left: 10px;
    height: 32px;
    line-height: 30px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .input-new-tag {
    width: 90px;
    margin-left: 10px;
    vertical-align: bottom;
  }
</style>

不同尺寸

Tag 組件提供除了默認值以外的三種尺寸,可以在不同場景下選擇合適的按鈕尺寸。


額外的尺寸:medium、small、mini,通過設(shè)置size屬性來配置它們。

<template>
  <el-tag closable>默認標簽</el-tag>
  <el-tag size="medium" closable>中等標簽</el-tag>
  <el-tag size="small" closable>小型標簽</el-tag>
  <el-tag size="mini" closable>超小標簽</el-tag>
</template>

不同主題

Tag 組件提供了三個不同的主題:dark、light 和 plain


通過設(shè)置effect屬性來改變主題,默認為 light

<template>
  <div class="tag-group">
    <span class="tag-group__title">Dark</span>
    <el-tag
      v-for="item in items"
      :key="item.label"
      :type="item.type"
      effect="dark"
    >
      {{ item.label }}
    </el-tag>
  </div>
  <div class="tag-group">
    <span class="tag-group__title">Plain</span>
    <el-tag
      v-for="item in items"
      :key="item.label"
      :type="item.type"
      effect="plain"
    >
      {{ item.label }}
    </el-tag>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        items: [
          { type: '', label: '標簽一' },
          { type: 'success', label: '標簽二' },
          { type: 'info', label: '標簽三' },
          { type: 'danger', label: '標簽四' },
          { type: 'warning', label: '標簽五' },
        ],
      }
    },
  }
</script>

類似復(fù)選框的標簽

有時候因為業(yè)務(wù)需求,我們可能會需要用到類似復(fù)選框的標簽,但是按鈕式的復(fù)選框的樣式又不滿足需求,此時我們就可以用到 check-tag


check-tag 的基礎(chǔ)使用方法,check-tag 提供的 API 非常簡單

<template>
  <el-space>
    <el-check-tag checked>選中</el-check-tag>
    <el-check-tag @change="onChange" :checked="checked">點我切換</el-check-tag>
    <el-check-tag v-model:checked="checked">通過 v-model</el-check-tag>
  </el-space>
</template>

<script>
  export default {
    data() {
      return {
        checked: false,
      }
    },
    methods: {
      onChange(checked) {
        this.checked = checked
      },
    },
  }
</script>

Attributes

參數(shù)說明類型可選值默認值
type類型stringsuccess/info/warning/danger
closable是否可關(guān)閉booleanfalse
disable-transitions是否禁用漸變動畫booleanfalse
hit是否有邊框描邊booleanfalse
color背景色string
size尺寸stringmedium / small / mini
effect主題stringdark / light / plainlight

Events

事件名稱說明回調(diào)參數(shù)
click點擊 Tag 時觸發(fā)的事件
close關(guān)閉 Tag 時觸發(fā)的事件

CheckTag Attributes

參數(shù)說明類型可選值默認值
v-model:checked / checked是否選中booleantrue/false

CheckTag Events

事件名稱說明回調(diào)參數(shù)
change點擊 Check Tag 時觸發(fā)的事件checked
update:checked點擊 Check Tag 時觸發(fā)的事件checked


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號