ElementPlus Tag 標(biāo)簽

2021-09-26 10:40 更新

Tag 標(biāo)簽

用于標(biāo)記和選擇。

基礎(chǔ)用法


由type屬性來(lái)選擇 tag 的類(lèi)型,也可以通過(guò)color屬性來(lái)自定義背景色。

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

可移除標(biāo)簽


設(shè)置closable屬性可以定義一個(gè)標(biāo)簽是否可移除。默認(rèn)的標(biāo)簽移除時(shí)會(huì)附帶漸變動(dòng)畫(huà),如果不想使用,可以設(shè)置disable-transitions屬性,它接受一個(gè)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: '標(biāo)簽一', type: '' },
          { name: '標(biāo)簽二', type: 'success' },
          { name: '標(biāo)簽三', type: 'info' },
          { name: '標(biāo)簽四', type: 'warning' },
          { name: '標(biāo)簽五', type: 'danger' },
        ],
      }
    },
  }
</script>

動(dòng)態(tài)編輯標(biāo)簽

動(dòng)態(tài)編輯標(biāo)簽可以通過(guò)點(diǎn)擊標(biāo)簽關(guān)閉按鈕后觸發(fā)的 close 事件來(lái)實(shí)現(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: ['標(biāo)簽一', '標(biāo)簽二', '標(biāo)簽三'],
        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 組件提供除了默認(rèn)值以外的三種尺寸,可以在不同場(chǎng)景下選擇合適的按鈕尺寸。


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

<template>
  <el-tag closable>默認(rèn)標(biāo)簽</el-tag>
  <el-tag size="medium" closable>中等標(biāo)簽</el-tag>
  <el-tag size="small" closable>小型標(biāo)簽</el-tag>
  <el-tag size="mini" closable>超小標(biāo)簽</el-tag>
</template>

不同主題

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


通過(guò)設(shè)置effect屬性來(lái)改變主題,默認(rèn)為 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: '標(biāo)簽一' },
          { type: 'success', label: '標(biāo)簽二' },
          { type: 'info', label: '標(biāo)簽三' },
          { type: 'danger', label: '標(biāo)簽四' },
          { type: 'warning', label: '標(biāo)簽五' },
        ],
      }
    },
  }
</script>

類(lèi)似復(fù)選框的標(biāo)簽

有時(shí)候因?yàn)闃I(yè)務(wù)需求,我們可能會(huì)需要用到類(lèi)似復(fù)選框的標(biāo)簽,但是按鈕式的復(fù)選框的樣式又不滿(mǎn)足需求,此時(shí)我們就可以用到 check-tag


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

<template>
  <el-space>
    <el-check-tag checked>選中</el-check-tag>
    <el-check-tag @change="onChange" :checked="checked">點(diǎn)我切換</el-check-tag>
    <el-check-tag v-model:checked="checked">通過(guò) v-model</el-check-tag>
  </el-space>
</template>

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

Attributes

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

Events

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

CheckTag Attributes

參數(shù)說(shuō)明類(lèi)型可選值默認(rèn)值
v-model:checked / checked是否選中booleantrue/false

CheckTag Events

事件名稱(chēng)說(shuō)明回調(diào)參數(shù)
change點(diǎn)擊 Check Tag 時(shí)觸發(fā)的事件checked
update:checked點(diǎn)擊 Check Tag 時(shí)觸發(fā)的事件checked


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)