elementui封装select选择框

封装的组件

<template>
  <div>
    <!-- 请选择逾期性质 -->
    <el-select @change="modelchange" class="select-width" size="mini" v-model="modelCode" :placeholder="$t('COMPONENTS.COMP029')" clearable>
      <el-option v-for="item in options" :key="item.code" :label="item.nameCN" :value="item.code"></el-option>
    </el-select>
  </div>
</template>
 
<script>
import { getMasterStorage } from "../../common/js/getMasterStorage.js";
//逾期性质共通
export default {
  name: "component029",
  data() {
    return {
      modelCode: "",
      options: ""
    };
  },
  methods: {
    modelchange(event) {
      if (event) {
        let selecteName = {};
        selecteName = this.options.find(item => {
          return item.code === event;
        });
        this.$emit("overdueTypeselectinput", { code: this.modelCode, val: selecteName.nameCN });
      } else {
        this.$emit("overdueTypeselectinput", "");
      }
    }
  },
  props: ["modelVal"],
  mounted() {
    this.modelCode = this.modelVal;
    this.options = getMasterStorage("029");
  }
};
</script>
<style scoped>
@import "../../assets/css/common.css";
</style>

页面调用

<el-col :span="8">
    <el-form-item prop="overdueType">
      <span slot="label">
        <!-- 逾期性质 -->
        <b>{{$t('SCM607.S3')}}</b>
      </span>
      <component029 v-if="editFlag" :modelVal="jobLogForm.overdueType" v-on:overdueTypeselectinput="overdueTypeval"></component029>
    </el-form-item>
  </el-col>
//首先导入此组件
import component029 from "../../components/select/component029.vue";
在vue中注册
export default {
  components: {
    component029
  },
  {
    jobLogForm: {
     overdueType:“”,
     overdueTypeName:“”
    }
  },
  methods:{
  // 逾期性质下拉框,此处绑定选择后的值
    overdueTypeval(data) {
      if (data) {
        this.jobLogForm.overdueType = data.code;
        this.jobLogForm.overdueTypeName = data.val;
      } else {
        this.jobLogForm.overdueType = "";
        this.jobLogForm.overdueTypeName = "";
      }
    },
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值