vue封装下拉框组件

vue文件

vue 复制代码
<template>
  <el-select clearable
             :collapse-tags="collapseTags"
             :multiple="multiple"
             v-bind="$attrs"
             :placeholder="placeholder"
             :spellcheck="false"
             style="width: 100%"
             v-on="$listeners"
  >
    <el-option v-for="item in options" :key="item.itemCode" :label="item.label" :value="item.value"/>
  </el-select>
</template>

<script>


import {getDictItemByDictCode} from "@/api/dictItemManagement";

export default {
  name: 'HmSelectCode',
  props: {
    codeid: {
      type: String,
      required: false,
      default: '',
    },
    multiple: {
      type: Boolean,
      required: false,
      default: false,
    },
    collapseTags: {
      type: Boolean,
      required: false,
      default: true,
    },
    placeholder: {
      type: String,
      required: false,
      default: '',
    }
  },
  data() {
    return {
      title: '组件标题',
      currentDesc: '',
      // 组件内输入框的值
      currentValue: '',
      options: [],
    }
  },
  mounted() {
    if (!this.codeid) return
    //调用后端接口
    getDictItemByDictCode(this.codeid).then(res => {
      this.options = []
      res.data.forEach((value1,) => {
        const option = {value: value1.itemCode, label: value1.itemName}
        this.options.push(option)
      })
    })
  },
  methods: {
    init() {
    },
  },
}
</script>

main.js

js 复制代码
import HmSelectCode from './components/HmSelectCode'
Vue.component('HmSelectCode', HmSelectCode)

使用

vue 复制代码
<HmSelectCode 
                v-model="queryForm.isDepartment" 
                codeid="sys_isDepartment" 
                placeholder="请选择机构部门"
 />
相关推荐
ZC跨境爬虫14 分钟前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj1 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈2 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries2 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment2 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
qcx233 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen3 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文4 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
新酱爱学习4 小时前
手搓 10 个 Skill 后,我把重复劳动收敛成了一套零依赖 CLI 工具
前端·javascript·人工智能
IT_陈寒5 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端