首页 > 其他分享 >Vue之父组件给子组件传多个不确定的参数

Vue之父组件给子组件传多个不确定的参数

时间:2024-10-09 11:32:37浏览次数:1  
标签:Vue const default return props 组件 给子 type

父组件给子组件传多个不确定的参数,可以使用v-bind进行传参。

父组件代码示例:

<template>
  <component ref="form" :value="value" :disabled="disabled" :is="currentComp" :mode="mode" v-bind="config" @input="valueChange"/>
</template>

子组件代码示例:

<template>
  <div>
    <div v-if="mode === 'DESIGN'">
      <a-date-picker size="middle" disabled :picker="type" :placeholder="placeholder" style="width: 100%;"></a-date-picker>
    </div>
    <div v-else>
      <a-date-picker :value="value" :disabled="disabled"  :format="format" size="middle" allowClear :picker="type"
        :popup-style="{'z-index':9999}" :show-time="format == 'YYYY-MM-DD HH:mm'? { format: 'HH:mm' }: false"
        :placeholder="placeholder" style="width: 100%;" @change="inputValue"></a-date-picker>
    </div>
  </div>
</template>

<script setup>
import { computed } from 'vue';
import useComponent from '../useComponent'

const props = defineProps({
  value: {
    default: null
  },
  disabled: {
    type: Boolean,
    default: false
  },
  format: {
    type: String,
    default: 'YYYY-MM-DD HH:mm'
  },
  placeholder: {
    type: String,
    default: '请选择日期时间'
  },
  mode: {
    type: String,
    default: 'DESIGN'
  },
  required: {
    type: Boolean,
    default: false
  },
})

const { _value } = useComponent(props)
const type = computed(() => {
  switch (props.format) {
    case 'YYYY': return 'year';
    case 'YYYY-MM': return 'month';
    case 'YYYY-MM-DD': return 'date';
    default: return 'date';
  }
})

const emit = defineEmits(['input'])
const inputValue = () =>{
  emit('input', props.value)
}
</script>

<style scoped>

</style>

 

标签:Vue,const,default,return,props,组件,给子,type
From: https://www.cnblogs.com/luoyihao/p/18453892

相关文章

  • 社区医院管理服务系统Spring Boot+VUE(高分毕设)
    文章目录一、系统需求分析二、系统设计三、系统页面1系统功能模块2管理员功能模块3用户功能模块4医生功能模块四、资源下载链接一、系统需求分析系统功能结构图二、系统设计 数据库设计信息管理系统的效率和实现的效果完全取决于数据库结构设计的好坏。为了......
  • 基于Springboot+Vue的毕业生信息招聘平台的设计与实现(源码+LW+包运行)
    联系即免费送开题报告和任务书,欢迎咨询(可指定任意题目)源码获取:https://download.csdn.net/download/u011832806/89431634基于SpringBoot+Vue的毕业生信息招聘平台开发语言:Java数据库:MySQL技术:SpringBoot+MyBatis+Vue.js工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:......
  • Vue组件开发基础教程
    首发于公众号[小白讲前端]欢迎关注1.环境搭建安装Node.js:确保你的机器上已安装了Node.js。安装VueCLI:打开命令行工具,运行npminstall-g@vue/cli来全局安装VueCLI。2.创建项目在命令行中执行:vuecreatemy-vue-appcdmy-vue-app这将创建一个新的Vue项......
  • vue 前端导出 excel
    npminstall  xlsx-js-styleimportXLSXfrom'xlsx-js-style';//导出数据exportD(title,data,fileName){title=["标题1","标题2","标题3","标题4","标题5","标题6"];data=[["数据1&qu......
  • Vue.js组件开发:构建可复用、可维护的前端应用
    Vue.js作为一个流行的前端框架,以其简洁、高效和灵活的特性赢得了众多开发者的青睐。而组件化开发是Vue.js的核心理念之一,它使得我们能够构建出结构清晰、易于维护的大型应用。本文将深入探讨Vue.js组件开发的各个方面,帮助你掌握组件开发的精髓。1.什么是Vue.js组件?Vue.js......
  • vue2 setting配置
    {  "workbench.iconTheme":"vscode-icons",  "vsicons.dontShowNewVersionMessage":true,  "terminal.integrated.profiles.windows":{    "cmd":{      "path":"C:\\Windows......
  • 02 Vue默认项目说明
    1.node_modulespnpm安装的第三方依赖2.public公共资源,存放网页图标等3.src开发代码存放位置3.1项目入口文件main.tsimport{createApp}from'vue'//引入vueimport'./style.css'//引入默认样式importAppfrom'./App.vue'//引入页面App.VuecreateApp(......
  • [Vue] 异步路由组件和非路由组件的区别?
    异步路由组件都知道异步路由组件通过()=>import("./views/Home.vue")导入路由组件。但是它怎么就按需加载资源、代码分割了?不同的代码解析报告非异步路由组件异步路由组件代码分析报告生成代码pnpminstallwebpack-bundle-analyzerfile:[vue.config.js]const{......
  • vue3 pinia 存数据
    pinia是vue2中的vuex,状态管理,可以实现数据共享1、先安装npminstallpinia 2、在main.ts中进行创建和载入3、在src下新建store文件夹定义存的文件  4、在组件中使用 此时控制台会有具体的值。   ......
  • 基于数据可视化+Java+SpringBoot+Vue实现的高校食堂移动预约点餐系统设计与实现
    文章目录前言系统演示录像论文参考代码运行展示图技术框架SpringBoot技术介绍系统测试系统测试的目的系统功能测试推荐选题:代码参考实现案例找我做程序,有什么保障?联系我们前言......