Vue嵌套表单的 Dialog精美模板分享

news/2024/7/6 23:36:18

文章目录

  • 🐒个人主页
  • 🏅Vue项目常用组件模板仓库
    • 📖前言:
    • 🎀源码如下:

🐒个人主页

🏅Vue项目常用组件模板仓库

📖前言:

本篇博客主要提供vue组件之嵌套表单的 Dialog组件源码,需要的朋友请自取

在这里插入图片描述
这里的数据可根据需要自行更换,响应事件可自己添加(可以自己更换)

🎀源码如下:

<template>
	<div>
		<!-- 【🎀新增信息】 -->
		<el-dialog title="新增学生信息" :visible.sync="dialogFormVisible">
			<el-form :model="form" style="background-color: bisque;">
				<el-row><!-- 【🪀姓名】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;">姓名</el-button> </el-col>
					<el-col :span="6"><el-form-item><el-input v-model="form.name" maxlength="10" show-word-limit
								autocomplete="off"></el-input></el-form-item></el-col>
				</el-row>
				<el-row><!-- 【🪀学号】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;">学号</el-button> </el-col>
					<el-col :span="5"><el-form-item><el-input v-model="form.num" maxlength="10" show-word-limit
								autocomplete="off"></el-input></el-form-item></el-col>
				</el-row>
				<el-row><!-- 【🪀性别】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;" plain>性别</el-button> </el-col>
					<el-col :span="6">
						<el-radio v-model="form.gender" label=""></el-radio>
						<el-radio v-model="form.gender" label=""></el-radio>
					</el-col>
				</el-row>
				<el-row><!-- 【🪀专业】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;" plain>专业</el-button> </el-col>
					<el-col :span="6">
						<el-select v-model="form.majors" placeholder="请选择专业">
							<el-option v-for="item in form.major" :key="item.id" :label="item.name" :value="item.id">
							</el-option>
						</el-select>
					</el-col>
				</el-row>
				<el-row><!-- 【🪀生日】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;" plain>生日</el-button> </el-col>
					<el-col :span="7">
						<div class="block">
							<el-date-picker value-format="yyyy-MM-dd" v-model="form.birthday" align="right" type="date"
								placeholder="选择日期" :picker-options="pickerOptions">
							</el-date-picker>
						</div>
					</el-col>
				</el-row>
				<el-row><!-- 【🪀地址】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;">地址</el-button> </el-col>
					<el-col :span="18">
						<el-form-item>
							<el-input type="textarea" :rows="2" placeholder="请输入地址" maxlength="20" show-word-limit
								v-model="form.address"></el-input>
						</el-form-item>
					</el-col>
				</el-row>
				<el-row><!-- 【🪀联系方式】 -->
					<el-col :span="4"><el-button type="success" style="width: 98px;">联系方式</el-button> </el-col>
					<el-col :span="18"><el-form-item><el-input v-model="form.phone" maxlength="15" show-word-limit
								autocomplete="off"></el-input></el-form-item></el-col>
				</el-row>

			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button @click="concle()">取 消</el-button>
				<el-button type="primary" @click="addSudent()">保 存</el-button>
			</div>
		</el-dialog>
	</div>
</template>

<script>
	export default {
		data() {
			return {/* 【是否可见】 */
				dialogFormVisible: false,
				form: {
					name: '',
					num: '',
					gender: '',
					birthday: '',
					address: '',
					phone: '',
					delivery: false,
					major: [],
					majors: '',
					mark: 'add'
				},
				formLabelWidth: '120px',
				pickerOptions: {//【🎀日期选择器】
					disabledDate(time) {
						return time.getTime() > Date.now();
					}
				}

			}
		},
		methods: {
			concle() {
				this.$message({
					type: 'info',
					message: '退出成功!'
				});
				this.dialogFormVisible = false;
			},
			addSudent(){
				//【🎀请求事件自己添加~】
				this.$message({type: 'success',message:"保存成功!"});
				this.dialogFormVisible = false;//【🎀关闭对话框】
			}
		},
		mounted() {
			//【🎀获取专业信息】
			/* this.$http.get("admin/studentList?mark=major").then((resp) => {
				if (resp.data.code == 200) {
					this.form.major = resp.data.data;
				}
			}); */
		}



	}
	//将json对象序列化为键=值&键=值
	function jsonToString(jsonObj) {
		console.log(jsonObj);
		var str = "";
		for (var s in jsonObj) {
			str += s + "=" + jsonObj[s] + "&";
		}
		return str.substring(0, str.length - 1);
	}
</script>

<style>
</style>


http://www.niftyadmin.cn/n/393589.html

相关文章

Java对象的共享

要编写正确的并发程序&#xff0c;关键问题在于&#xff1a;在访问共享的可变状态时需要进行正确的管理。第2章介绍了如何通过同步来避免多个线程在同一时刻访问相同的数据&#xff0c;而本章将介绍如何共享和发布对象&#xff0c;从而使它们能够安全地由多个线程同时访问。这两…

Temporal.Duration 规范用法

后端突然告诉我返回给我的时间用了一个新的规范&#xff0c;我展示的时候突然发现这个规范蛮有意思&#xff0c;算是一个新的规范&#xff0c;展示到页面的时候也思考了很多&#xff0c;记录一下子~&#xff08;注&#xff1a;此 blog 主要目的仅是供自己记录&#xff0c;所以写…

k8s部署Elasticsearch集群+Kibana方案--开启X-Pack 安全认证

前言 本文中使用StatefulSet 方式部署 Elasticsearch 集群&#xff0c;并且开启X-Pack 安全认证&#xff0c;存储使用的是NFS&#xff0c;属于一个初学者自己探索的方案&#xff0c;如果有比较好的方案&#xff0c;还请不吝评论赐教。 版本说明&#xff1a; Kubernetes v1.25…

Linux命令(28)之locate

Linux命令之locate 1.locate介绍 linux命令locate用于查找文件所在位置&#xff0c;与which、whereis命令类似&#xff0c;locate命令将会在预先建立好的档案数据库中查询文件。 locate档案数据库路径&#xff1a;/var/lib/mlocate locate档案数据库名称&#xff1a;mlocat…

MMPose(openmmlab AI实战营二期第一节)

链接&#xff1a;人体关键点检测与MMPose_哔哩哔哩_bilibili 赶了个进度&#xff0c;实际上没听到&#xff0c;一个方向被浓缩成50分钟是有点难度。后续有需要再回顾吧 人体姿态估计&#xff1a;识别人体关键点坐标。模式识别任务&#xff0c;难点是始终在变化。以关键点连线…

chatgpt赋能python:Python可以有多个同名函数吗?

Python 可以有多个同名函数吗&#xff1f; Python作为一门高级编程语言&#xff0c;其灵活性和易用性备受开发人员的青睐。在Python中&#xff0c;函数是编程语言的核心&#xff0c;任何有经验的Python工程师都会知道Python的函数允许使用相同的名称来进行定义。那么问题来了&…

数字音系统研究开发真题第1章习题答案解析

hezkz17 进答疑裙 1声音可分为两种&#xff0c;纯音和复合音&#xff0c;平常人们说话的声音属于哪一种&#xff1f;语音的频率范围是多少&#xff1f;音频信号通常包括哪些声音信号&#xff1f;其频率范围是多少&#xff1f; &#xfffc; 2023/6/3 下午11:27:56 通常人们说话…

redis缓存单体服务测试本地锁失效问题

测试1&#xff1a;锁释放之后向redis缓存存入数据 //TODO 产生堆外内存溢出 OutOfDirectMemoryError//gulimall.com查询分类Overridepublic Map<String, List<CategoryLevel2Vo>> getCatelogJson() {/*** 问题 &#xff1a;解决办法* 1.缓存穿透 高并发情况下查询缓…