誉天在线项目~ElementPlus Tag标签用法

效果图

页面展现

java 复制代码
      <el-form-item label="课程标签">
        <el-tag
            v-for="tag in dynamicTags"
            :key="tag"
            class="mx-1"
            closable
            :disable-transitions="false"
            @close="handleClose(tag)"
            style="margin:5px;"
        >
          {{ tag }}
        </el-tag>
        <el-input
            style="width:200px;"
            v-if="inputVisible"
            ref="InputRef"
            v-model="inputValue"
            class="ml-1 w-20"
            size="small"
            @keyup.enter="handleInputConfirm"
            @blur="handleInputConfirm"
        />
        <el-button v-else class="button-new-tag ml-1" size="small" @click="showInput">
          + 新标签
        </el-button>
      </el-form-item>

初始化

java 复制代码
//tag标签
const inputValue = ref('')
const dynamicTags = ref([])

const inputVisible = ref(false)
const InputRef = ref()

const handleClose = (tag) => {
  dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1)
}

const showInput = () => {
  inputVisible.value = true
  nextTick(() => {
    InputRef.value.input.focus()
  })
}

const handleInputConfirm = () => {
  if (inputValue.value) {
    dynamicTags.value.push(inputValue.value)
  }
  inputVisible.value = false
  inputValue.value = ''
}

保存时

java 复制代码
//把数组转化成字符串,多个值以逗号隔开
  form.data.tags = dynamicTags.value.join(",")

回显时

java 复制代码
//回显课程标签:数据库存储字符串,页面是数组。
  dynamicTags.value = form.data.tags.split(",")   //将字符串拆成数组
相关推荐
爱分享的鱼鱼15 分钟前
对比理解 Vue 响应式 API:data(), ref、reactive、computed 与 watch 详解
前端·vue.js
JS_GGbond17 分钟前
【性能优化】给Vue应用“瘦身”:让你的网页快如闪电的烹饪秘籍
前端·vue.js
T___T18 分钟前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
代码小学僧19 分钟前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
微笑的曙光20 分钟前
Vue3 环境搭建 5 步走(零基础友好)
前端
不知名用户来了24 分钟前
基于vue3 封装的antdv/element-Plus 快速生成增删改查页面
前端
明川30 分钟前
Android Gradle - ASM + AsmClassVisitorFactory插桩使用
android·前端·gradle
布列瑟农的星空31 分钟前
webpack迁移rsbuild——配置深度对比
前端
前端小黑屋33 分钟前
查看项目中无引用到的文件、函数
前端
前端小黑屋33 分钟前
小程序直播挂件Pendant问题
前端·微信小程序·直播