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

相关推荐
大猫会长11 分钟前
mac中创建 .command 文件,执行node服务
前端·chrome
旧时光_11 分钟前
Zustand 状态管理库完全指南 - 进阶篇
前端·react.js
snakeshe101012 分钟前
深入理解useState:批量更新与非函数参数支持
前端
windliang13 分钟前
Cursor 排查 eslint 问题全过程记录
前端·cursor
boleixiongdi14 分钟前
# Bsin-App Uni:面向未来的跨端开发框架深度解析
前端
G等你下课17 分钟前
AJAX请求跨域问题
前端·javascript·http
前端西瓜哥17 分钟前
pixijs 的填充渲染错误,如何处理?
前端
阑梦清川18 分钟前
Java后端项目前端基础Vue(二)
vue.js
snakeshe101018 分钟前
6-1. 实现 useState
前端
呆呆没有脑袋20 分钟前
深入浅出 JavaScript 闭包:从核心概念到框架实践
前端