element的下拉框封装

[复制链接]
发表于 2026-2-26 20:40:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. <!-- 仓位 -->
  2. <template>
  3.   <el-select
  4.     clearable
  5.     :value="value || []"
  6.     class="ele-fluid"
  7.     :filterable="true"
  8.     placeholder="仓位"
  9.     @input="updateValue"
  10.   >
  11.     <el-option
  12.       v-for="item in data"
  13.       :key="item.id"
  14.       :value="item.id"
  15.       :label="item.storageName"
  16.     />
  17.   </el-select>
  18. </template>
  19. <script>
  20.   // import { listStorage } from '@/api/basic/storage/index';
  21.   import { listStorage } from '@/api/basic/storage';
  22.   export default {
  23.     props: {
  24.       // 选中的数据(v-model)
  25.       value: [Array, String, Number],
  26.       // 提示信息
  27.       placeholder: {
  28.         type: String,
  29.         default: '请选择转入仓位'
  30.       }
  31.     },
  32.     data() {
  33.       return {
  34.         //班次数据
  35.         data: []
  36.       };
  37.     },
  38.     created() {
  39.       listStorage({})
  40.         .then((list) => {
  41.           this.loading = false;
  42.           this.data = list;
  43.           //   this.data = this.$util.toTreeData({
  44.           //     data: list,
  45.           //     idField: 'organizationId',
  46.           //     parentIdField: 'parentId'
  47.           //   });
  48.           console.log(this.data);
  49.           // this.$nextTick(() => {
  50.           //   this.onNodeClick(this.data[0]);
  51.           // });
  52.         })
  53.         .catch((e) => {
  54.           this.loading = false;
  55.           this.$message.error(e.message);
  56.         });
  57.     },
  58.     methods: {
  59.       /* 更新选中数据 */
  60.       updateValue(value) {
  61.         this.$emit('input', value);
  62.       }
  63.     }
  64.   };
  65. </script>
复制代码
@input="updateValue"
 :value="value || []"
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表