element的下拉框封装

javascript 复制代码
<!-- 仓位 -->
<template>
  <el-select
    clearable
    :value="value || []"
    class="ele-fluid"
    :filterable="true"
    placeholder="仓位"
    @input="updateValue"
  >
    <el-option
      v-for="item in data"
      :key="item.id"
      :value="item.id"
      :label="item.storageName"
    />
  </el-select>
</template>

<script>
  // import { listStorage } from '@/api/basic/storage/index';
  import { listStorage } from '@/api/basic/storage';
  export default {
    props: {
      // 选中的数据(v-model)
      value: [Array, String, Number],
      // 提示信息
      placeholder: {
        type: String,
        default: '请选择转入仓位'
      }
    },
    data() {
      return {
        //班次数据
        data: []
      };
    },
    created() {
      listStorage({})
        .then((list) => {
          this.loading = false;
          this.data = list;
          //   this.data = this.$util.toTreeData({
          //     data: list,
          //     idField: 'organizationId',
          //     parentIdField: 'parentId'
          //   });
          console.log(this.data);
          // this.$nextTick(() => {
          //   this.onNodeClick(this.data[0]);
          // });
        })
        .catch((e) => {
          this.loading = false;
          this.$message.error(e.message);
        });
    },
    methods: {
      /* 更新选中数据 */
      updateValue(value) {
        this.$emit('input', value);
      }
    }
  };
</script>

@input="updateValue"

:value="value || []"

相关推荐
用户31673613034210 分钟前
SSE消息推送前后端代码
前端·后端
像我这样帅的人丶你还17 分钟前
JavaScript 迭代器详解
前端·javascript
逍遥归来22 分钟前
《SWIFTER -Swift开发者必备Tips》学习笔记
前端
timi先生22 分钟前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
Lazy_zheng23 分钟前
Map / Set / WeakMap / WeakSet,一次给你讲透
前端·javascript·面试
learyuan23 分钟前
Windows原生开发
前端
uzong25 分钟前
ClaudeCode 入门详细教程,手把手带你Vibe Coding
前端·人工智能
英俊潇洒美少年35 分钟前
前端安全 完整精讲
前端·安全
aircrushin36 分钟前
2026我最推荐的前端设计skills
前端
problc38 分钟前
Pretext —— 无 DOM 文本测量与布局引擎
前端·ai