当前位置: 首页 > news >正文

对el-select封装成组件使用

效果与直接使用el-select一样,多处用el-select显得代码冗余就进行了封装

效果图:

el-select封装:

<template><div class="my-select"><el-selectv-model="person.modelValue":placeholder="placeholder"@change="changeSelect"><el-optionv-for="item in options":key="item[val]":label="item[name]":value="item[val]"></el-option></el-select></div>
</template><script setup>
import { reactive,  watch } from "vue";
const emits = defineEmits(["onChange"]);
let props = defineProps({val: {type: String,default: "value",},name: {type: String,default: "label",},placeholder: {type: String,default: "请选择",},options: {type: Array,default: [],},value: {type: [Number, String],default: "",},
});
console.log(props);
const person = reactive({modelValue: "",
});
function changeSelect(val) {emits("onChange", val);
}
watch(() => props.value,(val) => {// 用于回显person.modelValue = val;},{ deep: true, immediate: true }
);</script>
<style scoped lang='less'>
</style>

功能组件内使用el-select封装组件:

<template><div><el-form ref="form" label-width="120px" label-position="left"><el-form-item label="选择第几个选项"><MySelectwidth="220px"title="确定"@onChange="addDeciceType":options="person.optionsList":val="'val'":name="'name'"placeholder="请选择":value="1"></MySelect></el-form-item></el-form></div>
</template><script setup>
import { reactive, onMounted } from "vue";
import MySelect from "../components/MySelect.vue";
const person = reactive({optionsList: [{ name: "第1个选项", val: 1 },{ name: "第2个选项", val: 2 },{ name: "第3个选项", val: 3 },],
});
function addDeciceType(val) {console.log(val);
}
onMounted(() => {});
</script>
<style scoped lang='less'>
</style>

http://www.lryc.cn/news/251189.html

相关文章:

  • pytorch 多卡并行训练
  • C# Bin、XML、Json的序列化和反序列化
  • mediapipe+opencv实现保存图像中的人脸,抹去其他信息
  • clickhouse的向量化执行
  • R语言实验三
  • springboot-mongodb-连接配置
  • 基于单片机的多功能视力保护器(论文+源码)
  • 如何保护 API 安全
  • 工业机器视觉megauging(向光有光)使用说明书(十五,轻量级的visionpro)
  • Linux e2fsck命令教程:如何检查和修复文件系统(附案例详解和注意事项)
  • TypeScript 的安装与使用
  • Git版本管理配置说明 - Visual Studio
  • Rust语言项目实战(四) - 界面绘制与渲染
  • 动态规划学习——回文串
  • 优化你的计算机性能:如何根据 CPU 占用率决定硬件升级
  • 探索低代码之路——JNPF
  • Day01 嵌入式 -----流水灯
  • Redis集群详解
  • 【随笔】个人面试纪录
  • Vue3的reactive、ref、toRef、toRefs用法以及区别
  • 微信小程序:input双向绑定
  • RT-Thread ADC_DMA
  • 生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin
  • idea 插件开发日志绑定问题
  • Elasticsearch(ES)概述
  • 网络入门---网络编程初步认识和实践
  • Linux系统安装Docker-根据官方教程教程(以Ubuntu为例)
  • 2023-12-03 LeetCode每日一题(可获得的最大点数)
  • 【唐山海德教育】安全员b证的考试科目
  • 吉他初学者学习网站搭建系列(4)——如何查询和弦图