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

广东企业微信网站建设做网站买虚拟主机

广东企业微信网站建设,做网站买虚拟主机,适配移动网站,大学生asp网站开发的实训周(1) 点击el-tree节点 使用el-breadcrumb展示选中树节点及父项数据 重点:handleNodeClick方法、getTreeNode方法 (2) 选择el-breadcrumb-item设置el-tree节点选中 必须设置属性: current-node-key"currentNodeKey" 、 node-key"id" 重点: 设置…

(1) 点击el-tree节点 使用el-breadcrumb展示选中树节点及父项数据

        重点:handleNodeClick方法、getTreeNode方法

(2) 选择el-breadcrumb-item设置el-tree节点选中 

         必须设置属性: current-node-key="currentNodeKey"  、 node-key="id"

         重点: 设置树节点渲染 this.$refs.tree.setCurrentKey(item.id) 

(3) 右键点击树节点展示菜单 

        重点:handleNodeContextmenu方法、showTreeMenu方法、设置active样式  

 (4) 树节点编辑节点字段名称

         重点:handleTreeNodeNameEdit方法、submitTreeNodeNameEdit方法

<template><div class="sqm-file-page"><el-row><el-col :span="4"><div class="grid-left-content"><el-tree ref="tree" :data="treeData" :props="defaultProps" node-key="id" highlight-current :default-expanded-keys="defaultExpandedKeys" :current-node-key="currentNodeKey" :expand-on-click-node="false" @node-click="handleNodeClick" @node-contextmenu="handleNodeContextmenu"><template #default="{ node, data }"><!-- 如果是编辑状态 --><template v-if="data.isEdit == 1"><el-input ref="treeNodeNameInput" v-model="treeNodeName" class="name-input" @blur="() => submitTreeNodeNameEdit(node, data)" /></template><!-- 如果不是编辑状态 --><span v-else v-text="data.name" /><i class='el-icon-edit-outline' @click.stop="() => handleTreeNodeNameEdit(node, data)" />          </template></el-tree><div ref="treeMenu" class="tree-menu">树节点右键菜单内容</div></div></el-col><el-col :span="20"><div class="grid-right-content"><el-breadcrumb separator-class="el-icon-arrow-right"><el-breadcrumb-item v-for="(item, index) in breadList" :key="index" @click.native="handleBreadcrumbItem(item, index)">{{ item.name }}</el-breadcrumb-item></el-breadcrumb></div></el-col></el-row></div>
</template><script>
import {findTree} from '@/api/sqm//qf/api'export default {name: 'SqmFileList',data() {return {treeData: [],defaultExpandedKeys: [1],currentNodeKey: '',defaultProps: {children: 'sqmFileList',label: 'name'},activeNode: {}, // 选中的节点      breadList: [], // 面包屑数组treeNodeName: '' // 树节点编辑时名称}},created() {const that = thisthat.getTree()},methods: {// el-tree数据getTree() {const that = thisfindTree().then(res => {let expandedKeys = []for (let i = 0; i < res.data.length; i++) {expandedKeys.push(res.data[i].id)}that.defaultExpandedKeys = expandedKeysthat.treeData = res.datathat.breadList = res.data     })},// 树节点点击handleNodeClick(data, node) {const that = this// 设置树节点选中this.$set(data, 'isChecked', true) // 获取面包屑this.breadList = []this.getTreeNode(this.$refs.tree.getNode(data.id))that.activeNode = data},// 获取当前树节点和其父级节点getTreeNode(node) {if (node && node.data.name) {this.breadList.unshift(node.data)this.getTreeNode(node.parent) // 递归}},// 点击面包屑handleBreadcrumbItem(item, index) {// 设置树节点当前选中的keythis.currentNodeKey = item.id// 重点: 设置树节点渲染this.$refs.tree.setCurrentKey(item.id)// 删除选中面包屑后面的面包屑this.breadList.splice(index + 1, this.breadList.length)},// 树节点鼠标右键点击handleNodeContextmenu(e, data, node, target) {// 树节点选中之后才能展示树节点菜单if (data.isChecked) {this.showTreeMenu(e, data, node, target)}},// 展示树节点菜单showTreeMenu(e, data, node, target) {const menu = this.$refs.treeMenuconst menuHeight = menu.clientHeightconsole.log(menuHeight)const x = e.pageX // 触发点到页面窗口左边的距离const y = e.pageY // 触发点到页面窗口顶部的距离if ((document.body.clientHeight - y) >= menuHeight) {menu.style.top = y + 'px'menu.style.bottom = 'auto'} else {menu.style.top = 'auto'menu.style.bottom = document.body.clientHeight - y + 'px'}menu.style.left = x + 'px'menu.classList.add('active')console.log(menu)},// 树节点编辑handleTreeNodeNameEdit(node, data) {this.$set(data, 'isEdit', 1)this.treeNodeName = data.namethis.$nextTick(() => {this.$refs.treeNodeNameInput.focus()})},// 树节点编辑后输入框失焦提交submitTreeNodeNameEdit(node, data) {if (data.name == this.treeNodeName) {console.log('没有修改')this.treeNodeName = ''this.$set(data, 'isEdit', 0)} else {this.$set(data, 'name', this.treeNodeName)this.treeNodeName = ''this.$set(data, 'isEdit', 0)// 此处...编辑完成后调用接口}},}}
</script><style lang="less" scoped>
.sqm-file-page {.grid-left-content {margin-right: 10px;::v-deep.el-tree-node {position: relative;font-size: 14px;// 设置选中节点样式&.is-current>.el-tree-node__content {background-color: #1456F01A;color: #1456F0;}.custom-tree-node {width: 100%;align-items: center;justify-content: space-between;i {padding-right: 20px;}.el-icon-edit-outline {position: absolute;right: 20px;top: 5px;}div.name-input {.el-input__inner {width: 55%;height: 21px;}}}}// 树节点右键菜单样式.tree-menu {position: fixed;width: 130px;border: 1px solid #DEDEDF;border-radius: 6px;background-color: #ffffff;box-shadow: 0 6px 24px #F4F5F5;visibility: hidden;}.active {visibility: visible;z-index: 2;}}.grid-right-content {::v-deep.el-breadcrumb {padding: 40px 0 20px 0;.el-breadcrumb__item {cursor: pointer;.el-breadcrumb__inner {font-size: 16px;color: #646A73;}&:last-child {.el-breadcrumb__inner {color: #1F2329;}}}}}
}
</style>

代码仅供参考 具体实现根据具体实际情况! 

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

相关文章:

  • 网站设计与制作服务可以做数据图的的网站
  • 怎么搭建网站友情链接做电影网站许可证
  • 招商加盟的网站应该怎么做一流的常州网站优化
  • 设一个网站链接为安全怎么做网站建设哪家不错
  • 找做网站的人asp提交到另外网站
  • 可以做海报的网站苏州关键词搜索排名
  • 北京石景山网站建设百度seo
  • 网站建设分哪几个版块calypso wordpress
  • wordpress做网站怎么样国家建设部网站
  • 成都优秀网站建设海淀网站建设龙岩
  • 网页如何建设宁波seo关键词排名优化
  • 电子商务网站建设的建议常见的网络营销类型有
  • 建设网站公司 优帮云全友全屋定制官网
  • 做ppt音乐怎么下载网站河北网站开发联系电话
  • 西宁市城乡规划建设局网站wordpress 面向对象
  • 安徽建筑工程网站视频网站的链接怎么做的
  • 章丘市网站建设seops课堂网站
  • 网站+做内容分发资格网站建设维护专员
  • 中国移动网站建设怎么做wordpress 仿 模板
  • 为什么建设银行网站打不开wordpress下载插件
  • vi毕业设计代做网站外贸网站模板建立
  • 大型网站建设托管服务太原网站建设方案托管
  • 极速网站建设定制费用国内优秀网页设计案例
  • 深圳网站开发一薇浙江网站建设公司电话
  • 做app网站的软件有哪些内容吗不买域名怎么做网站
  • 酒店网站开发需求是企业写的吗宝安中心医院怎么样
  • 门户网站的功能北京企业网站制作
  • 学院后勤处网站建设方案书网站子站怎么做的
  • 育儿哪个网站做的好淘宝指数转换
  • 铁岭做网站包括哪些商标注册证查询官网