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

参与网站建设与维护的要求三好街做网站的公司

参与网站建设与维护的要求,三好街做网站的公司,计算机网络技术专业,wordpress自定义文章标题字体根据关键字合并表格 1.实现初始化表格2.实现添加班级与学生的功能3.添加的弹窗4.删除班级5.删除学生 首先看最终实现的效果 1.实现初始化表格 这里主要用到的是表格的span-method这个方法 templatediv classmain-pagediv classflex-en… 根据关键字合并表格 1.实现初始化表格2.实现添加班级与学生的功能3.添加的弹窗4.删除班级5.删除学生 首先看最终实现的效果 1.实现初始化表格 这里主要用到的是表格的span-method这个方法 templatediv classmain-pagediv classflex-enddiv classpublic-search添加班级/div/divel-table border :datatableData stripe stylewidth: 100%; :span-methodobjectSpanMethodel-table-column label班级 aligncenter propclass /el-table-column label姓名 aligncenter propname /el-table-column label课程 aligncenter propcourse /el-table-column label备注 aligncenter propremark /el-table-column fixedright label删除学生 aligncentertemplate #defaultscopespan classdel-btn删除/span/template/el-table-columnel-table-column fixedright label操作 aligncentertemplate #defaultscopespan classadd-btn添加学生/spanspan classdel-btn删除班级/span/template/el-table-column/el-table/div /templatescript setup import { ref } from vue;const tableData ref() //表格数据// 第一列的的索引 const firstIndex ref([]) // 相同行数名的索引的值 const mergerRowIndex ref([]) //合并表格列 const objectSpanMethod ({ row, column, rowIndex, columnIndex }) {if (![1, 2, 3, 4].includes(columnIndex)) { // 从0开始数第1,2, 3, 4列是需要合并的if (rowIndex 0) {return {rowspan: firstIndex.value[0],colspan: 1}}if (firstIndex.value[0] rowIndex rowIndex 0) {return {rowspan: 0,colspan: 0}}for (let i 0; i firstIndex.value.length; i) {if (rowIndex firstIndex.value[i]) {return {rowspan: firstIndex.value[i 1] - firstIndex.value[i],colspan: 1}}if (firstIndex.value[i 1] rowIndex rowIndex firstIndex.value[i]) {return {rowspan: 0,colspan: 0}}}} } // 查验有无相同行数名的对象,如果知道不同行数名的位置则记住其位置并且压入 const getMergerRowIndex () {// 每次调用这个函数就需要把之前压入到函数内的值给清空mergerRowIndex.value []firstIndex.value []for (let i 1; i tableData.value.length; i) {if (tableData.value[i].class ! tableData.value[i - 1].class) {mergerRowIndex.value.push(i);firstIndex.value.push(i);}}// 并且还要压入表格的的长度mergerRowIndex.value.push(tableData.value.length);firstIndex.value.push(tableData.value.length); }//请求接口获取数据 const getData () {let data [{ id: 1, class: 一班, name: 张三, course: 数学, remark: 数学年级第二, },{ id: 2, class: 一班, name: 李四, course: 语文, remark: 语文还行, },{ id: 3, class: 一班, name: 王五, course: 英语, remark: 英语一般般, },{ id: 4, class: 二班, name: 向小小, course: 语文, remark: 语文年级第一, },{ id: 5, class: 二班, name: 杨六六, course: 数学, remark: 数学年级第一, },]tableData.value datagetMergerRowIndex() } getData() /scriptstyle langscss scoped .main-page {.flex-end {display: flex;justify-content: end;margin-bottom: 10px;}.add-btn {color: #0077ef;margin-right: 4px;cursor: pointer;}.del-btn {color: #f56c6c;cursor: pointer;}.public-search {background: #0077ef;border-radius: 4px;height: 32px;padding: 0 14px;text-align: center;color: #ffffff;cursor: pointer;align-items: center;display: flex;user-select: none;} } /style 初始化后的页面 2.实现添加班级与学生的功能 关键代码 //给添加班级与添加学生绑定事件 div classpublic-search clickaddStudents(null, null)添加班级/div span classadd-btn clickaddStudents(scope.$index, scope.row)添加学生/span //为了方便管理数据给新增弹窗重新定义了一个组件AddClass AddClass v-model:showshowClass :rowrowList :tableDatatableData addClassaddClass /script import AddClass from ./AddClass.vue; //引入组件const showClass ref(false) const rowList ref() //行数据 const rowIndex ref(0) //点击的多少行//添加学生和班级 const addStudents (index, row) {rowIndex.value index || 0rowList.value row || {}showClass.value true }//添加班级或学生 const addClass (form) {//这里全局都是根据class来判断唯一值的视具体情况而修改let len tableData.value.filter(res res.class form.class).length;if (len 0) {len tableData.value.length;}//新增学生的随机idform.id Math.random()//使用splice(xx,0,{}) 这个方法在指定位置加数据tableData.value.splice(len rowIndex.value, 0, {...form})getMergerRowIndex() } /script最后实现的效果 3.添加的弹窗 templatediv classadd-classel-dialog v-modeldialogVisible title新增 width480px :before-closecloseDialogel-form refruleFormRef :modelruleForm label-width120px label-positiontop classdemo-ruleFormel-form-item label班级 propclass v-if!hasClassel-select v-modelruleForm.class filterable allow-create default-first-option placeholder请输入或者选择班级el-option label一班 value一班 /el-option label二班 value二班 /el-option label三班 value三班 /el-option label四班 value四班 /el-option label五班 value五班 //el-select/el-form-itemel-form-item label姓名 propnameel-input v-modelruleForm.name //el-form-itemel-form-item label课程 propcourseel-input v-modelruleForm.course //el-form-itemel-form-item label备注 propremarkel-input v-modelruleForm.remark :rows2 typetextarea //el-form-item/el-formtemplate #footerspan classdialog-footerel-button typeprimary clickonSubmit确定/el-buttonel-button clickcloseDialog取消/el-button/span/template/el-dialog/div /templatescript setup import { ref, reactive, defineEmits, defineProps, computed, watch } from vue import { ElMessage } from element-plus const emits defineEmits([update:show]); const props defineProps({show: Boolean,row: Object || {},tableData: Array }) watch(props, () {if (props.row props.row.class) {ruleForm.class props.row.classhasClass.value true} else {ruleForm.class hasClass.value false} }) const hasClass ref(false) //是否有class const dialogVisible computed({get: () { return props.show },set: newVal emits(update:show, newVal) }); const ruleForm reactive({ class: ,name: ,course: ,remark: , }) const ruleFormRef ref() const closeDialog () {dialogVisible.value falseruleFormRef.value ruleFormRef.value.resetFields() } const onSubmit async () {//如果存在班级则不能继续添加班级if (!hasClass.value) {if (props.tableData.some(res res.class ruleForm.class)) {ElMessage.error(已存在该班级);return;}}emits(addClass, ruleForm)closeDialog() } /scriptstyle langscss scoped .add-class { } /style 新增班级弹窗效果 新增学生的效果 4.删除班级 关键代码 //绑定事件span classdel-btn clickdelClass(scope.$index, scope.row)删除班级/spanimport { ElMessage, ElMessageBox } from element-plus //删除班级 const delClass (index, row) {ElMessageBox.confirm(是否删除班级${row.class}?,{confirmButtonText: 确定,cancelButtonText: 取消,type: warning,}).then(() {let len tableData.value.filter(res res.class row.class).lengthtableData.value.splice(index, len)getMergerRowIndex()ElMessage({type: success,message: 删除成功,})}).catch(() {ElMessage({type: info,message: 取消操作,})}) }实现效果 5.删除学生 关键代码 //绑定事件 span classdel-btn clickdelStudents(scope.row)删除/span//删除学生 const delStudents (row) {ElMessageBox.confirm(是否删除学生${row.name}?,{confirmButtonText: 确定,cancelButtonText: 取消,type: warning,}).then(() {tableData.value tableData.value.filter(item {return item.id ! row.id})getMergerRowIndex()ElMessage({type: success,message: 删除成功,})}).catch(() {ElMessage({type: info,message: 取消操作,})}) }效果图 end 关于修改其实和新增差不多这里就没有写了合并表格并实现增删改查的功能就是这些。 全部代码可以关注这里哦
http://www.dnsts.com.cn/news/127479.html

相关文章:

  • 做外单都有什么网站外贸客户管理软件排名
  • 漂亮企业网站如何网站平台建设好
  • 六安网站制作人才招聘深圳开发的相亲网站
  • 中国建设银行信用卡网站首页深圳建筑图片大全高清
  • 建立网站的链接结构有哪几种形式简述其各自的优缺点网站优化方案书
  • 电子商城建设网站施工企业合规风险识别与管理
  • 手绘风网站商城小程序公司
  • 外国网站免费空间申请我想给企业做网站怎么做
  • 个人网站有哪些举例广告设计公司是做什么的
  • 移动网站建设口碑好cc域名网站
  • 仿牌做外贸建网站一个域名下多个网站
  • 建筑招聘最好的网站wordpress群聊插件
  • 做网站投广告攻略个人网站设计流程步骤
  • 正规的徐州网站建设wordpress 虎嗅 2017
  • 如何向alexa提交网站影视网站如何做seo
  • 制作网站演示昆明网站建设哪个好
  • 无货源一键铺货软件手机一键优化
  • 几百块钱建网站网站后台维护教程
  • 建设领域信用系统网站有哪些做场景秀的网站
  • 铁汉生态建设有限公司网站网站开发亿玛酷适合5
  • 三亚市住房和城乡建设局网站工业设计网页
  • 哈尔滨制作企业网站怎么优化网站源码关键词
  • 网站开发的难点设计网站推荐设计酷站
  • 手机网站源码大全网站平台内容建设提纲
  • 铜川矿业公司网站可以不使用备案的网站名吗
  • 百度广告联盟网站零基础自己建网站
  • 珠海做网站报价徐州网页设计培训
  • 旅游政务网站建设个人网页在线制作
  • 做导航网站用什么源码seo网站优化推广
  • 做百度微信小程序都有哪些网站互联网培训机构有哪些