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

sql网站开发数据库连接失败华为云免费服务器

sql网站开发数据库连接失败,华为云免费服务器,河南便宜网站建设价格低,wordpress主题 html5项目中弹框使用频繁,需要统一样式风格,此组件可以自定义弹框的头部样式和内容 一、文件结构如下: 二、自定义myDialog组件 需求: 1.自定义弹框头部背景样式和文字 2.自定义弹框内容 3.基本业务流程框架 components/myDialog/index.vue完整代码: &…

项目中弹框使用频繁,需要统一样式风格,此组件可以自定义弹框的头部样式和内容

一、文件结构如下:
 

 

 二、自定义myDialog组件

需求:

1.自定义弹框头部背景样式和文字

2.自定义弹框内容

3.基本业务流程框架

components/myDialog/index.vue完整代码:

<template><div class="system-user-dialog-container"><el-dialog center align-center v-model="state.isShow" width="769px" @close="dialogRefresh"><template #header="{ titleClass }"><div :class="titleClass">{{ state.title }}</div></template><el-form ref="formRef" :rules="state.rules" :model="state.formData" size="default" label-width="100px"><slot name="formPart"><div>表单内容</div></slot></el-form><template #footer><span class="dialog-footer"><el-button @click="onCancel" size="default">取 消</el-button><el-button type="primary" @click="onSubmit(formRef)" size="default">确认</el-button></span></template></el-dialog></div>
</template><script setup lang="ts" name="myDialog">
import { ElMessage, FormInstance } from 'element-plus';
import { reactive, ref } from 'vue';// 定义变量内容
const formRef = ref();// 定义子组件向父组件传值/事件
const emit = defineEmits(['doSend']);const state: any = reactive({isShow: false,formData: [],title: '',rules: {},
});// 取消
const onCancel = () => {state.isShow = false;
};// 提交
const onSubmit = async (formEl: FormInstance | undefined) => {if (!formEl) return;//表格验证await formEl.validate(async (valid: any, fields: any) => {if (valid) {emit('doSend');} else {ElMessage.warning('表格项验证失败,请检查');console.log('表格项验证失败!', fields);}});onCancel();
};const dialogRefresh = () => {// 清除校验规则formRef.value?.resetFields();// 重置表单内容state.formData = [];
};/**   formData:表单数据*   title:标题*   rules:表单校验规则*/
const openDialog = (formData: object, title: string, rules: object) => {state.isShow = true;state.formData = formData;state.title = title;state.rules = rules;
};// 暴露变量
defineExpose({openDialog,
});
</script>
<style scoped lang="scss">
:deep .el-dialog__header {width: 100%;height: 60px;background-color: #5e8dff;
}:deep .el-dialog__header .el-dialog__title {font-size: 20px;color: #fff;
}:deep .el-dialog__header .el-dialog__close {color: #fff;
}
</style>

三、使用组件

实现方法:

1.通过插槽自定义弹框中的表单内容

2.父子组件传值

3.ref直接获取dom

 dialogDemo/dialog.vue完整代码:

<template><div class="system-dic-dialog-container"><myDialog ref="myDialogRef" @doSend="handleOperate"><template #formPart><div>自定义表单内容</div></template></myDialog></div>
</template><script setup lang="ts" name="systemDicDialog">
import myDialog from '/@/components/myDialog/index.vue';
import { reactive, ref } from 'vue';// 定义子组件向父组件传值/事件
const emit = defineEmits(['refresh']);// 定义变量内容
const myDialogRef = ref();
const state = reactive({data: [],title: '',isAdd: false,rules: {// area: [{ required: true, message: '请选择区域', trigger: 'blur' }],// alarmValueName: [{ required: true, message: '请输入告警值名称', trigger: 'blur' }],// alarmValue: [{ required: true, message: '请输入告警值', trigger: 'blur' }],// alarmValueUnit: [{ required: true, message: '请选择告警值单位', trigger: 'blur' }],// alarmText: [{ required: true, message: '请输入告警提示语', trigger: 'blur' }],},dialog: {isShowDialog: false,type: '',title: '',submitTxt: '',},
});const openDialog = (row: any) => {console.log(row, 'row');console.log(state.data, 'data');if (row) {state.title = '修改';state.isAdd = false;} else {state.title = '新增';state.isAdd = true;}myDialogRef.value.openDialog(state.data, state.title, state.rules);
};// 发请求
const handleOperate = () => {console.log('校验成功');state.isAdd ? doAdd() : doEdit();
};// 添加
const doAdd = () => {console.log('doAdd');clearFormData();emit('refresh');
};
// 修改
const doEdit = () => {console.log('doEdit');clearFormData();emit('refresh');
};// 清空表单信息
const clearFormData = () => {state.data = [];
};// 暴露变量
defineExpose({openDialog,
});
</script>

添加或编辑成功后,刷新页面

  dialogDemo/index.vue完整代码:

<template><div class="notice-bar-container layout-pd"><el-button type="success" @click="handleOpenDialog">点我打开弹框</el-button><openDialog ref="openDialogRef" @refresh="handleRefresh"></openDialog></div>
</template>
<script setup lang="ts" name="makeDialogDemo">
import openDialog from './dialog.vue';
import { ref } from 'vue';const openDialogRef = ref();const handleOpenDialog = () => {openDialogRef.value.openDialog();
};// 刷新页面
const handleRefresh = () => {};
</script>
<style lang="scss" scoped></style>

 

http://www.yayakq.cn/news/539942/

相关文章:

  • 网站建设与规划实验心得体会无锡百度关键词推广
  • 返利网站做淘宝阿里云空间如何装wordpress
  • 黄石网站建设报价重庆建筑材料价格信息网
  • 贵州省住房和城乡建设厅查询网站怎么查看网站备案
  • 商务网站建设与维护课程品牌关键词排名优化怎么做
  • 佛山电商网站制作东莞头条最新新闻
  • 怀化主要网站大连网站建设案例
  • 网站建设如果没有源代码洛阳网站建设招聘信息
  • 北京网站制作设计公司排名博罗做网站报价
  • 手机网站字体自适应动静分离网站架构
  • 相亲网站开发c2c平台如何盈利
  • 网站开发报价表格百度指数官方下载
  • 新建网站后域名跳转到别的网站了顺德区网站设计建设企业
  • 网站正在建设中色天使广州酒店网站制作
  • 网站建设一定要买数据盘吗鞍山最新消息
  • 软件推广平台有哪些怎么在网站里做关键词优化
  • 微信上的小说网站是怎么做的网站有版权吗
  • 外贸网站建设不可缺少的灵活性广州建设网站是什么关系
  • 深圳网站建设相关推荐中国机械设备采购网
  • 三灶网站建设网站建立的步骤
  • 网站速度慢wordpress免费ppt生成器
  • 山东网站推广公司建设工程合同协议书
  • 网站娱乐app网站开发网络传媒有限公司
  • 公众号网站大连市城乡建设档案馆网站
  • 怎么建设回收网站佛山网络推广培训
  • 网站建设放什么会计科目教做网站视频
  • 浙江建设招生网站沈阳正规的男科医院排名
  • 天水营销型网站建设宁波网站建设电话咨询
  • 做宣传类网站需要什么资质网上自己建网站
  • 北京微网站建设网站后端建设