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

汕头网站排名优化报价常州做网站哪家快

汕头网站排名优化报价,常州做网站哪家快,如何制作微信小程序店铺,vip域名做网站好不好前言 本文章是本人在开发过程中#xff0c;遇到使用树形数据#xff0c;动态单选或多选的需求#xff0c;element中没有这种组件#xff0c;故自己封装一个#xff0c;欢迎多多指教 开发环境#xff1a;element-UI、vue2 组件效果 单选 多选 组件引用 treeselec…前言 本文章是本人在开发过程中遇到使用树形数据动态单选或多选的需求element中没有这种组件故自己封装一个欢迎多多指教 开发环境element-UI、vue2 组件效果 单选 多选 组件引用 treeselect v-modelform.parentId:optionsdeptOptions:props{value:id,label:name,children: children}:placeholder选择上级部门/ 组件代码 templatedivel-selectreftreeSelectpopper-classcustom-select-popperstylewidth: 100%v-modelvalueLabel:clearableclearable:placeholderplaceholder:multiplemultipleclearhandleClearremove-taghandleRemoveTagel-input v-iffilterv-modelfilterText:placeholderfilterPlaceholder stylemargin-top: -6px;/el-option :valuevalue :labeloption.name classselect-optionsel-treeidtree-optionreftreeSelectTree:accordionaccordion:dataoptions:propsprops:node-keyprops.value:highlight-current!multiple:show-checkboxmultiple:check-strictlycheckStrictly:default-expand-allexpandAll:expand-on-click-nodemultiple:filter-node-methodfilterNodenode-clickhandleNodeClickcheckhandleNodeCheckboxspan slot-scope{ node, data } classtree_label{{ node.label }}/span/el-tree/el-option/el-select/div /template script export default {name: TreeSelect,model: {prop: value,event: change},props: {value: {type: [String, Number, Object, Array],default: () {return }},clearable: {type: Boolean,default: true},placeholder: {type: String,default: 请选择},multipleLimit: {type: Number,default: 2},//--------- filter props -----filter: {type: Boolean,default: true},filterPlaceholder: {type: String,default: 请输入关键字},//----- tree props -----accordion: {type: Boolean,default: false},options: {type: Array,default: () {return []}},props: {type: Object,default: () {return {value: id,label: label,children: children}}},expandAll: {type: Boolean,default: false},checkStrictly: {type: Boolean,default: false}},data() {return {tp: {value: id,label: label,children: children,prentId: parentId},multiple: false,valueLabel: [],option: {id: ,name: },filterText: undefined,valueId: [],treeIds: []}},watch: {valueId() {if (this.multiple) {let valueStr if (this.value instanceof Array) {valueStr this.value.join()} else {valueStr this.value}if (valueStr ! this.valueId.join()) {this.$emit(change, this.valueId)}} else {let id this.valueId.length 0 ? this.valueId[0] : undefinedif (id ! this.value) {this.$emit(change, id)}}},value: {handler(newVal, oldVal) {if (newVal ! oldVal) {this.init()}}},filterText: {handler(newVal, oldVal) {if (newVal ! oldVal) {this.$refs.treeSelectTree.filter(newVal)}}}},mounted() {for (let key in this.tp) {if (this.props[key] ! undefined) {this.tp[key] this.props[key]}}this.multiple this.multipleLimit 1this.init()this.$nextTick(() {if (this.multiple) {document.getElementsByClassName(el-select__tags)[0].style.maxHeight document.getElementsByClassName(el-select)[0].offsetHeight * 2 - 4 px}})},methods: {init() {if (this.value instanceof Array) {this.valueId this.value} else if (this.value undefined) {this.valueId []} else {this.valueId [this.value]}if (this.multiple) {for (let id of this.valueId) {this.$refs.treeSelectTree.setChecked(id, true, false)}} else {this.$refs.treeSelectTree.setCurrentKey(this.valueId.length 0 ? this.valueId[0] : undefined)}this.initValueLabel()this.initTreeIds()this.initScroll()},// 初始化滚动条initScroll() {this.$nextTick(() {let scrollWrap document.querySelectorAll(.el-scrollbar .el-select-dropdown__wrap)[0]scrollWrap.style.cssText margin: 0px; max-height: none; overflow: hidden;let scrollBar document.querySelectorAll(.el-scrollbar .el-scrollbar__bar)scrollBar.forEach((ele) (ele.style.width 0))})},initTreeIds() {let treeIds []let _this thisfunction traverse(nodes) {for (let node of nodes) {treeIds.push(node[_this.tp.value])if (node[_this.tp.children]) {traverse(node[_this.tp.children])}}}traverse(this.options)this.treeIds treeIds},initValueLabel() {let labels []let _this thisfor (let id of this.valueId) {let node this.traverse(this.options, node node[_this.tp.value] id)if (node) {labels.push(node[_this.tp.label])}}if (this.multiple) {this.valueLabel labelsthis.option.name labels.join()} else {this.valueLabel labels.length 0 ? labels[0] : undefinedthis.option.name this.valueLabel}},traverse(tree, func) {for (let node of tree) {if (func(node)) {return node}if (node[this.tp.children]) {let result this.traverse(node[this.tp.children], func)if (result ! undefined) {return result}}}return undefined},handleClear() {this.valueLabel []this.valueId []if (this.multiple) {for (let id of this.treeIds) {this.$refs.treeSelectTree.setChecked(id, false, false)}} else {this.$refs.treeSelectTree.setCurrentKey(null)}},/* 树filter方法 */filterNode(value, data) {if (!value) return truereturn data[this.props.label].indexOf(value) ! -1},/* 树节点点击事件 */handleNodeClick(data, node) {if (!this.multiple) {this.filterText this.valueId [data[this.tp.value]]}if(node.childNodes){node.expanded true}},handleNodeCheckbox(data, node) {if (this.multiple) {if (this.multipleLimit node.checkedKeys.length) {this.valueId node.checkedKeys} else {this.$refs.treeSelectTree.setChecked(data, false, !this.checkStrictly)this.$message.error(最多选择 this.multipleLimit 项)}}},handleRemoveTag(tag) {let n this.traverse(this.options, node node[this.tp.label] tag)if (n) {this.$refs.treeSelectTree.setChecked(n[this.tp.value], false, !this.checkStrictly)}this.valueId this.$refs.treeSelectTree.getCheckedKeys()}} }/scriptstyle scoped langscss ::v-deep .el-select__tags {overflow: auto; } .custom-select-popper{}.el-scrollbar {.el-scrollbar__view {.el-select-dropdown__item {height: auto;max-height: 300px;padding: 0;overflow: hidden;overflow-y: auto;}.el-select-dropdown__item.selected {font-weight: normal;}} }ul li {.el-tree {.el-tree-node__content {height: auto;padding: 0 20px;}.el-tree-node__label {font-weight: normal;}.is-current .el-tree-node__label{color: #409eff;font-weight: 700;}} }.tree_label {line-height: 23px;.label_index {background-color: rgb(0, 175, 255);width: 22px;height: 22px;display: inline-flex;border-radius: 4px;.label_index_font {color: #ffffff;width: 100%;text-align: center;}} } /style
http://www.hkea.cn/news/14586734/

相关文章:

  • 月饼网站建设淡蓝色网站
  • 室内设计入门教程seo企业站收录
  • 右玉网站建设线上推广如何引流
  • c2c电子商务网站的功能wechat官方下载
  • 如何做婚介网站电子商务交易平台
  • 做修图网站电脑配置东莞网站建设 熊掌号
  • 佛山网站制作网站移动端seo关键词优化
  • 中国网站排名100做网站如何赚广费
  • wordpress怎么做企业网站旅游网站网页设计报告
  • 哪个网站教做衣服马尾网站建设
  • 网站建设策划书论文公司网站怎么发布文章
  • 网站开发技术文档格式番禺网站建设怎样
  • 网页设计师网站周口网站制作公司哪家好
  • 天津团购鲜花的网站建设电影天堂网站用什么程序做的
  • 现在网站建设的技术网站怎么提高收录
  • 青岛网站建设排名linux做网站好
  • 可用来做外链推广的网站网站建设 模板网站
  • 企业网站源码wap沅江网站开发
  • 汕头免费建站公司网站建设与管理学校
  • 做php网站前端安徽建设工程造价信息网站
  • 买卖域名的网站好自己建一个电商网站
  • 如何看一个网站是否做推广企业站模板
  • 央企网站建设东莞房价走势图
  • 晋中建设集团有限公司网站找工作室的网站
  • 电脑网站建设规划wordpress媒体库略缩图
  • 宽屏网站设计优质网站建设公司哪家好
  • 婴儿睡袋网站建设wordpress 免密码
  • 网页设计公司兴田德润实力强如何网页优化
  • 保定市制作网站公司深圳网络推广优化
  • 建设银行网站名称怎么写黄江网站建设公司