2020
11-01
11-01
浅谈Vue使用Cascader级联选择器数据回显中的坑
业务场景由于项目需求,需要对相关类目进行多选,类目数据量又特别大,业务逻辑是使用懒加载方式加载各级类目数据,编辑时回显用户选择的类目。问题描述使用Cascader级联选择器过程中主要存在的应用问题如下:1、由于在未渲染节点数据的情况下编辑时无法找到对应的类目数据导致无法回显,如何自动全部加载已选择类目的相关节点数据;2、提前加载数据后,点击相应父级节点出现数据重复等;3、使用多个数据源相同的级联选择器,产生...
继续阅读 >
项目中会遇到需求就是table表格中选中在侧边展示,侧边删除,table中选中取消的联动选中ui框架:Antdesignvue组件:table和taghtml中<templatev-for="tagindataType"><!--key不能使用index--><a-tag:key="tag.id"closable:afterClose="()=>deleteDataType(tag.id)">{{tag.title}}</a-tag></template><a-table:rowSelection="rowSelection()":columns="columns":dataSource="filterTypeData":pagination="p...
最近在做一个测试题,前后可以切换题目,点击按钮选择答案,选择答案的同时改变按钮的背景色,如下图所示:初始代码我用了vue和swiper。所有的题目是一个对象数组,通过v-for渲染:<swiperref="mySwiper":options="swiperOptions"><swiper-slidev-for="(item,index)inlistData":key="index"><divclass="question-box"><divclass="idx">-第{{index+1}}题-</div><divclass="question">{{item.question}}</d...
watch侦听器中,我们要将新的值赋给this.a出错watch:{value:(newV,oldV)=>{this.a=newV;}}这里报错undefined,这里错误的原因是不能写成箭头函数。写成箭头函数后,this会取上下文,而不是组件里面的this了,正确写法为:watch:{value:function(newV,oldV){this.a=newV;}}如下图:看考链接:https://cn.vuejs.org/v2/api/#watchPS:好吧,虽然问题可以解决,但是具体为什么不能写成箭头函数,讲实话,我现在也不...
网页放置视频播放器,我一般都是用video.js和它的插件vue-video-player一:Video.js需求:对于简单的视频播放需求来说,video.js足以胜任了。它可是支持HTML5和Flash的视频播放器呦。1:安装video.jsnpminstall-svideo.js2:在main.js文件中引入相关文件importVideofrom'video.js'import'video.js/dist/video-js.css'Vue.prototype.$video=Video3:在组件中使用<template><divclass="video_text"><videoid="myVideo"...
需求:项目中需要开发一个导航栏,类似浏览器的导航,没有关闭的时候页面缓存,关掉之后,页面随之销毁。(如图)项目是使用Vue+Vue-Router+Vuex刚开始使用的方法是:关闭导航标签,直接调用对应的页面的$destory()方法,OK,可以实现关闭页面(下次再打开该页面,将初始化)的功能,但是遇到个问题:该页面将不再被缓存,也就是说切换导航tab时,页面将不断的被初始化!!!查了一下文档,找了度娘,没发现解决方法,又去请教...
这是一个通过Prop向子组件传递数据的小例子。代码:<!DOCTYPEhtml><htmllang="zh-cmn-Hans"><head><metacharset="UTF-8"><title></title><style>*{margin:0;padding:0;text-decoration:none;}</style></head><body><divid="app"><!--数据的渲染--><ul><student-componentv-for="iteminstudents":student="item"></student-compon...
前言最近在做一个精品课程后台管理系统,其中涉及文件上传和文件列表展示,我不想将他们写入一个组件,故分开两个组件实现。问题:但由于上传文件需要时间,这时要是用户切换别的组件查看时,上传文件组件就销毁了,导致文件上传失败。追求效果:想利用keep-alive实现上传组件切换时仍继续上传文件,而其他组件则不会存活。使用keep-alive的过程普通方法:直接使用keep-alive<keep-alive><router-view/></keep-alive>效果:虽然...
在App.vue文件中配置<keep-alive><router-viewv-if="$route.meta.keepAlive"></router-view></keep-alive><router-viewv-if="!$route.meta.keepAlive"></router-view>在路由中配置{path:'/backstage',component:resolve=>require(['@/views/backstage/my'],resolve),meta:{keepAlive:false}},{path:'/backstage/info',component:resolve=>require(['@/views/backstage/my/info'...
先看个例子组件<el-form-itemlabel="手机号:"prop="phone_number"><el-inputv-model="formPerson.phone_number"></el-input></el-form-item>script中exportdefault{data(){varvalidateMobilePhone=(rule,value,callback)=>{if(value===''){callback(newError('负责人手机号不可为空'));}else{if(value!==''){varreg=/^1[3456789]\d{9}$/;if(!reg.test(value)){callba...
轻量的vue时间轴组件installnpminstallvue-light-timeline如果你使用的是yarnyarnaddvue-light-timelineusageimportLightTimelinefrom'vue-light-timeline';Vue.use(LightTimeline);<template><light-timeline:items='items'></light-timeline></template>exportdefault{data(){return{items:[{tag:'2019-02-12',content:'测试内容'},{tag:'2019-02-13',type:'circle',...