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 || []"

相关推荐
Kagol1 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路2 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide2 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
ssshooter3 小时前
看完就懂 useSyncExternalStore
前端·javascript·react.js
格砸3 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
Live000004 小时前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉4 小时前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化
兆子龙4 小时前
从高阶函数到 Hooks:React 如何减轻开发者的心智负担(含 Demo + ahooks 推荐)
前端
狗胜4 小时前
测试文章 - API抓取
前端