VUE封装表下拉组件使用element

1. 组件代码:

<template>
  <el-select  :placeholder="placeholder" :disabled="disabled" :value="getValueSting" @change="handleInput">
    <el-option
      v-for="dict in dictData"
      :key="dict.value"
      :label="dict.lable" :value="dict.value"
    ></el-option>
  </el-select>
</template>

<script>

// 导入接口(需要改)
import { getTableTagData } from "@/api/operation/common";

export default {
  name: 'tableSelectTag',
  props: {
    // 表名
    tableName: {
      type: String,
      required: true
    },
    // 显示字段名
    tableShowName: {
      type: String,
      required: true
    },
    // 填充的值
    tableShowVal: {
      type: String,
      required: true
    },
    // SQ条件
    sqlSelect: {
      type: String,
      required: false,
      default: null
    },
    placeholder: String,
    disabled: Boolean,
    value: [String, Number],
  },
  computed: {
    getValueSting(){
      // update-begin author:wangshuai date:20200601 for: 不显示placeholder的文字 ------
      // 当有null或“” placeholder不显示
      return this.value != null ? this.value.toString() : undefined;
      // update-end author:wangshuai date:20200601 for: 不显示placeholder的文字 ------
    },
  },
  data() {
    return {
      dictData: []
    }
  },
  created() {
    this.initDictData()
  },
  methods: {
    initDictData(){
      // 查询下拉数据
      var obj = {
        tableName: this.tableName,
        tableShowName: this.tableShowName,
        tableShowVal: this.tableShowVal,
        sqlSelect: this.sqlSelect
      }
      // 请求数据(需要改)
      getTableTagData(obj).then(res => {
        // console.log(res)
        this.dictData = res.data
      })
    },
    handleInput(e='') {
      let val;
      if(Object.keys(e).includes('target')){
        val = e.target.value
      }else{
        val = e
      }
      console.log(val);
      this.$emit('change', val);
      //LOWCOD-2146 【菜单】数据规则,选择自定义SQL 规则值无法输入空格
      this.$emit('input', val);
    },
  }
}
</script>

<style scoped>

</style>

2. 使用:

<table-select-tag v-model="form.jpSb"  placeholder="请选择检票设备" tableName="szpt_zygl_znsb" tableShowName="name" tableShowVal="id" sqlSelect="type=3"></table-select-tag>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值