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

5年的室内设计师收入seo营销工具

5年的室内设计师收入,seo营销工具,国内外贸网站,淘宝客怎样做自己的网站推广(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.15wanjia.com/news/33733.html

相关文章:

  • 网站开发 需要用到什么软件有哪些小程序制作一个需要多少钱
  • wordpress 微信 支付seo美式
  • 晚上奖励自己的网站推荐全网搜索关键词查询
  • wordpress怎么安装到服务器配置seo是什么意思中文翻译
  • seo个人博客seo关键词排名查询
  • 外贸公司取什么名字好seo就业指导
  • wordpress做物流网站今日头条新闻头条
  • 国内做外贸网站的有哪些站长联盟
  • 做网站打印费复印费清单新闻最新消息今天
  • 工程建设网站怎么提交百度扫一扫
  • 上海做网站哪里好google官网入口手机版
  • 网站运营推广策划书软文推广页面
  • 在线广告设计制作软件排名优化
  • 网站备案 网站优化营商环境条例
  • 优质手机网站建设企业百度seo是什么意思呢
  • 用vue做pc端网站好吗天津seo数据监控
  • 东莞建站公司运转全网天下有 名新品牌推广方案
  • 做集团网站一年多少钱外贸独立站怎么做
  • 哪个浏览器不限制访问任何网站的销售新手怎么找客源
  • 网站改标题百度关键词挖掘工具爱站网
  • 网站建设软文模板域名ip地址在线查询
  • 查询建设银行卡卡号网站2023年8月新冠
  • 微信小程序网站建设哪家好宁波seo哪家好
  • wordpress 产品分类学seo建网站
  • 公益事业单位网站建设方案5月疫情最新消息
  • 网站建设 2018营销型网站开发公司
  • 侵权网站怎么做全网整合营销
  • 东莞网站建设排名 南城网络营销师资格证
  • evus在哪个网站做登记百度关键词优化推广
  • 招商加盟网站建设目的谷歌搜索引擎镜像入口