首页 > 其他分享 >vue select 组件封装及调用

vue select 组件封装及调用

时间:2023-01-17 09:24:08浏览次数:31  
标签:vue 封装 default seldVal options1 组件 type select

子组件 mySelect.vue

<template>
  <div class="mySelect">
    <el-select v-model="value1" placeholder="请选择" @change="handleSelect">
      <el-option
        v-for="item in options1"
        :key="item.value"
        :label="item.label"
        :value="item.value">
      </el-option>
    </el-select>
  </div>
</template>
<script>
export default {
  props: {
    options: {
      type: Array,
      default: () => []
    },
    seldVal: {
      type: String | Number,
      default: ''
    },
    hasAll: {
      type: Boolean,
      default: true
    }
  },
  data () {
    return {
      options1: [],
      value1: ''
    }
  },
  watch: {
    options: {
      immediate: true,
      handler (v, ov) {
        if (this.hasAll) {
          this.options1 = [{label: '全部', value:''}, ...v]
        } else {
          this.options1 = [...v]
        }
      }
    },
    seldVal (v, ov) {
      console.log('seldVal', v)
      this.value1 = v
    }
  },
  methods: {
    handleSelect (val) {
      this.$emit('update:seldVal', val)
    }
  }
}
</script>
<style lang="scss">
</style>

父组件调用

<el-form-item label="车位状态">
            <my-select :hasAll="false" :options="placeStatus_options" :seldVal.sync="searchParam.placeStatus"></my-select> // .sync是异步,子组件修改值也可以直接更新父组件的值,默认值是父组件searchParam.placeStatus赋值
</el-form-item>

 

标签:vue,封装,default,seldVal,options1,组件,type,select
From: https://www.cnblogs.com/mmzuo-798/p/17056953.html

相关文章

  • VUE3企业级项目基础框架搭建流程(1)
    开发环境和技术栈操作系统windows11开发工具vscode、phpstudy(小皮):nginx1.15.11,mysql5.7.26,php7.4,NavicatforMySQL前端VUE3、TypeScript、SCSS、ElementUi、R......
  • VUEX 使用学习三 : mutations
    转载请注明出处:在Vuex中store数据改变的唯一方法就是提交 mutations。mutations里面装着一些改变数据方法的集合,这是Vuex设计很重要的一点,就是把处理数据逻辑方......
  • VUEX state 的使用学习二
    转载请注明出处:state提供唯一的数据资源,所有的共享的数据都要统一放到store中的state中进行存储;状态state用于存储所有组件的数据。管理数据//初始化vue......
  • VUE项目创建&安装vue等
    npminstall--savevue-hot-reload-api升级或安装cnpmnpminstallcnpm-g升级npmcnpminstallnpm-g最新稳定版$cnpminstallvue@next全局安装vue-cliya......
  • VUEX 的使用学习一
    转载请注明出处:一、Vuex是什么?介绍:Vuex是一个专为[Vue](https://so.csdn.net/so/search?q=Vue&spm=1001.2101.3001.7020).js应用程序开发的状态管理模式。它采用......
  • 重载重写、封装继承多态、String、==和equlas、Integer
    (1)重载和重写的区别:1.重载:方法名相同,参数类型、个数、顺序不同,返回值、访问修饰符可以不同;发生在编译时;2.重写:方法名、参数列表必须相同;返回值、异常范围小于等于父类,访问修......
  • 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数
    从77开始的连续三篇文章,我们了解ABAP程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用OPENCURSOR和FETCHNEXTCURSOR这组ABAP......
  • 开源Vue表格组件,表格插件源码
    开源Vue表格组件,表格插件源码前言:关于html里面原生的table,通常满足不了程序员的要求。所以开发了一款表格插件,其功能有:1导入json格式数据后,自动填充表格。表格长宽自适应、......
  • Vue中使用前端形式过滤已返回到数据列表
    已经返回到列表,通过前端的搜索框再次过滤,而不走查询api。returngetDeviceListByCellIdApi(this.params).then((res)=>{//res.resultsconsole.l......
  • Vue使用momentjs来查询时间区间
    howdoesvuequeryrangewithMomentarrayhttps://stackoverflow.com/questions/14897571/moment-js-date-between-dateshttps://momentjs.com/docs/#/query/如果已......