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

广东省住房城乡建设厅网站店铺怎么做推广和宣传

广东省住房城乡建设厅网站,店铺怎么做推广和宣传,厦门seo网站排名优化,体育新闻最新消息由于业务场景的复杂性#xff0c;需实现#xff1a;在 el-table 表格中 嵌入 el-checkbox 多选框 及 el-input 输入框 及 el-upload 上传组件 #xff0c;先附上实现效果图。 从图片可以看出其实就是一个规格可以带有多个属性的规格表#xff0c;实现此效果需涉及到的知识点…由于业务场景的复杂性需实现在 el-table 表格中 嵌入 el-checkbox 多选框 及 el-input 输入框 及 el-upload 上传组件 先附上实现效果图。 从图片可以看出其实就是一个规格可以带有多个属性的规格表实现此效果需涉及到的知识点大概有以下 阻止冒泡this.$set() 动态绑定图片上传预览Scoped slot 获取到 table 内部的状态管理数据… 首先搭建表格框架固定两列这个比较简单 el-tableel-table-columnproplabel规格width220px/el-table-columnel-table-columnproplabel属性width660px/el-table-column /el-table由于行数不固定行内容非普通的静态数据展示故需用到 slot 来自定义 :data 属性绑定 commodityPropertyList数据scope 获取 row, column, $index 和 store 等的表格内部数据 实现表格第一列 el-table:datacommodityPropertyListstylewidth: 100%el-table-columnproplabel规格width220pxtemplate slot-scopescopespan stylefont-size: 14px;{{scope.row.propertyName}}/spani stylemargin-left: 10px; classel-icon-delete clickdeleteProperty(scope) /idiv styledisplay: flex;align-items: center;cursor: pointer; classproperty clickchangeGPicFlag(scope)i v-ifscope.row.gPicFlag 1 classel-icon-circle-check/ii classel-icon-circle-close v-else/idiv开启图片上传/div/div/template/el-table-columnel-table-columnproplabel属性width660px/el-table-column /el-table补充表格第二列 el-table:datacommodityPropertyListstylewidth: 100%el-table-columnproplabel规格width220pxtemplate slot-scopescopespan stylefont-size: 14px;{{scope.row.propertyName}}/spani stylemargin-left: 10px; classel-icon-delete clickdeleteProperty(scope) /idiv styledisplay: flex;align-items: center;cursor: pointer; classproperty clickchangeGPicFlag(scope)i v-ifscope.row.gPicFlag 1 classel-icon-circle-check/ii classel-icon-circle-close v-else/idiv开启图片上传/div/div/template/el-table-columnel-table-columnproplabel属性width660pxtemplate slot-scopescopeel-checkbox-group v-modelcheckPropertyListel-checkbox v-for(item1,index) in scope.row.options :labelitem1 :keyitem1.id :disabledpageType viewdiv styledisplay: flex;justify-content: center;align-items: center;margin-bottom: 20px;div stylewidth: 50%;font-size: 14px;{{item1.optionValue}}/divel-input :disabledpageType view stylemargin-right: 20px; sizemini v-modelitem1.optionAlias placeholder备注(可选)/el-inputel-input :disabledpageType view sizemini v-modelitem1.optionSort placeholder排序输入数字/el-inputspan v-ifscope.row.gPicFlag 1 stylemargin-left: 20px;div v-ifitem1.gPicUrl styledisplay: inline;el-image refpreview2 :preview-src-list[showgPicUrl] stylewidth: 20px;height: 20px; :srcitem1.gPicUrl/el-imagei click.stop.preventdeleteImage(scope,index) v-ifpageType ! view stylemargin-left: 10px;font-size: 12px; classel-icon-delete /ii stylemargin-left: 10px;font-size: 12px; click.stop.preventpreviewImage2(scope,index) classel-icon-view/i/divel-upload v-show!item1.gPicUrl pageType ! view refupload classinsert-block styledisplay: inline-block; vertical-align: top; margin-right: 8px;action/api/mdm/upload/image :limit1 accept.jpg,.jpeg,.png :on-successhandleSuccess2 :on-errorhandleFormatError:file-listimgFilesListOfOnce :show-file-listfalsei slotdefault click.stop.preventuploadImage(scope,index) classel-icon-upload2/i/el-uploadspan尺寸800*800px最多1张/span/span/div/el-checkbox/el-checkbox-group/template/el-table-column /el-table到此表格的页面及样式已基本完成接下来还需处理事件逻辑。 表格第一列事件处理 changeGPicFlag(scope) {if(this.pageType view) {return}this.commodityPropertyList.forEach((item,index) {if(index scope.$index) {item.gPicFlag item.gPicFlag 1 ? 0 : 1}})this.commodityPropertyList [...this.commodityPropertyList]}表格第二列事件处理 deleteImage(scope,index) {this.commodityPropertyList[scope.$index].options[index].gPicUrl this.commodityPropertyList [...this.commodityPropertyList] //实时更新修改的数据 },previewImage2(scope,index) {this.showgPicUrl this.commodityPropertyList[scope.$index].options[index].gPicUrlthis.$refs.preview2[0].showViewer true },uploadImage(scope,index) {let num 0let list []list this.commodityPropertyList.filter((item,index) index scope.$index)list.forEach(item { num item.options.length})//阻止冒泡到选checkboxthis.upload2Flag.propertyIndex scope.$indexthis.upload2Flag.optionsIndex indexthis.$refs[upload][numindex].$refs[upload-inner].handleClick() },表格“属性”列由 多选框checkbox、输入框input、 图片上传upload 等组件组成从代码可看出 checkbox-group 包裹 input等组件所以当在输入框输入或点击上传图片等操作时都会触发勾选/取消勾选多选框。这效果不是我们想要的我们只是想操作上传图片所以需要在定义事件时加 click.stop.prevent 事件名 来阻止冒泡阻止触发勾选操作 于是又有问题出现了当在 el-upload 组件加上 click.stop.prevent 事件名 时你会发现操作点击时不会触发弹出选择文件窗口这是因为加了阻止冒泡后没有触发到选择文件的操作这就需要我们自己在事件处理中写逻辑去触发。 1.需要在 el-upload 组件定义 ref 2.用 index 结合 num 找出被点击的那个 el-upload 组件 uploadImage(scope,index) {let num 0let list []list this.commodityPropertyList.filter((item,index) index scope.$index)list.forEach(item { num item.options.length})//阻止冒泡到选checkboxthis.upload2Flag.propertyIndex scope.$indexthis.upload2Flag.optionsIndex indexthis.$refs[upload][numindex].$refs[upload-inner].handleClick()//触发选择文件的弹窗},在实现的过程中我还碰到一个输入框不能输入的问题我操作输入之后没有动静再点击勾选操作时就可以正确显示出来了。于是我猜想了很多种可能并一一去验证 1.el-checkbox 不能包裹其他标签从网上搜集到很少有这样复杂地使用多选框 2.没有加 slot-scopescope ? … 最后在控制台打印后端返回的 commodityPropertyList 数据中发现其 options 数组下没有 optionAlias 和 optionSort 字段需要前端这边自己加最开始我是这样加的 //在commodityPropertyList获取数据的地方 ...... this.commodityPropertyList.forEach((group) {if (group.options group.options.length) {group.options.forEach((item) {item.optionAlias item.optionSort var key item.propertyCode : item.optionCodevar prop this.propSpenMap.get(key)if (prop) {group.gPicFlag prop.gPicFlag 1 ? 1 : 0 propList.push(prop)this.checkPropertyList.push(item)}})} })最后发现还是不可以于是我尝试 this.$set() 就可以了是因为 v-model 需要双向绑定而 this.$set() 则是启用了动态绑定 将上面代码的 item.optionAlias item.optionSort 改成 this.$set(item,optionAlias,) this.$set(item,optionSort,)
http://www.zqtcl.cn/news/512471/

相关文章:

  • 做网站会犯法吗贵州省建设厅城乡建设网站
  • 做网站和做公众号资金盘网站怎么建设
  • 全国最好的网站建设案例推广方法视频
  • 嘉兴网站建设策划方案在海口注册公司需要什么条件
  • 旅游网站国际业务怎样做建设企业官方网站企业登录
  • 北京市昌平网站建设小米网络营销案例分析
  • 怎么利用360域名做网站微信商城怎么弄
  • 中山h5网站建设天津网站建设技术托管
  • 建网站买的是什么商城网站建设合同
  • 购物网站制作样例有没有专门学做婴儿衣服的网站
  • 济南网站建设 找小七买友情链接有用吗
  • 南阳网站建设域名公司泉州关键词排名seo
  • 网站建设在线推广宁夏快速自助制作网站
  • 专业网站建设好不好wordpress编辑文章更新失败
  • 河南郑州网站建设哪家公司好html5 网站正在建设中
  • 免费ppt模板下载医学类江门seo网站推广
  • 智慧软文网站群辉wordpress地址
  • 自己怎么做拼单网站外贸网站 源码
  • 做网站如何防止被黑网页无法访问如何解决360浏览器
  • 专门做设计的网站互联网运营培训班哪个好
  • 烟台网站建设网站推广做网站与数据库的关系
  • 深圳网站设计成功刻成全视频免费观看在线看第7季高清
  • 淮阳城乡建设局网站seo技术团队
  • 建设博客网站游戏交易类网站seo怎么做
  • 做系统软件的网站wordpress网站会员太多
  • 上海门户网站怎么登录网站开发竞价单页
  • 东莞市外贸网站建设公司软件开发 系统开发 网站开发服务
  • 泉州制作网站设计南宁网站排名外包
  • 南通网站建设入门wordpress google seo
  • 怎么建立图片的网站吗网站响应式是什么意思