<template>
  <div class="form-item-box zj-packageSelect-wrap" :style="{ width: width }">
    <el-select v-bind="$attrs" :model-value="modelValue" @change="hanlderSelect" :popper-class="selectOption.length > 20 ? 'nation-select' : ''">
      <el-option v-for="item in selectOption" :key="item.id" :label="item.postName" :value="item.id">
      </el-option>
    </el-select>
  </div>
</template>
<script setup>
import { COMPONENT_WIDTH } from '@/constant';
import { onBeforeMount, ref } from "vue";
import { selectJobPage } from "@/api/user-manage";
const emits = defineEmits(["handleChange"]); //子组件向父组件事件传递
const props = defineProps({
  //获取组件传值
  placeholder: {
    default: "请选择",
    type: String
  },
  modelValue: {
    default: "",
    type: String
  },
  dictEnum: {
    default: "",
    type: String
  },
  width: {
    default: COMPONENT_WIDTH,
    type: String
  }
});
const selectOption = ref([]);
onBeforeMount(async () => {
  const res = await selectJobPage({ page: 1, size: 9999 });
  selectOption.value = [...res.records];
});
const hanlderSelect = (data) => {
  emits("handleChange", data);
};
</script>

<style lang="scss" scoped>
.zj-packageSelect-wrap {
  ::v-deep .el-select {
    width: 100%;
  }
}
</style>
