100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue3简单封装一个下拉框选项组件

vue3简单封装一个下拉框选项组件

时间:2023-11-23 17:40:13

相关推荐

vue3简单封装一个下拉框选项组件

vue3简单封装一个下拉框选项组件

组件

<!-- 这个为选择通知类型的下拉选组件 --><template><el-select v-model="value" filterable placeholder="选择类型" clearable><el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /></el-select></template><script setup>import baseService from "@/service/baseService";import {onMounted, ref } from "vue";const value = ref("");const options = ref([]);onMounted(() => {baseService.get("xxxxxxxxxxx").then((res) => {res.data.map((vo) => {options.value.push({key: vo.id,label: vo.typeName,value: vo.id});});console.log("访问的接口为:xxxxxxxxxxxxx");});});</script>

应用

script

<script lang="ts">import useView from "@/hooks/useView";import {defineComponent, reactive, toRefs } from "vue";import noticeTypeSelect from "@/views/dcomponents/noticeTypeSelect.vue";export default defineComponent({components: {noticeTypeSelect},setup() {const state = reactive({dataForm: {typeId: ""}});return {...useView(state), ...toRefs(state) };},});</script>

div

<notice-type-select v-model="dataForm.typeId"></notice-type-select>

完整代码

<template><notice-type-select v-model="dataForm.typeId"></notice-type-select></template><script lang="ts">import useView from "@/hooks/useView";import {defineComponent, reactive, toRefs } from "vue";import noticeTypeSelect from "@/views/dcomponents/noticeTypeSelect.vue";export default defineComponent({components: {noticeTypeSelect},setup() {const state = reactive({dataForm: {typeId: ""}});return {...useView(state), ...toRefs(state) };},});</script>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。