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

开封建网站的公司最新域名查询ip

开封建网站的公司,最新域名查询ip,用软件做seo网站关键词推广,wordpress子站点vue3使用element-plus#xff0c;树组件el-tree增加引导线 vue3项目element-plus#xff0c;树组件el-tree增加引导线 element-plus组件库的el-tree样式 因为element的样式不满足当前的的需求#xff0c;UI图#xff0c;所以对el-tree进行增加了引导线 修改样式如下树组件el-tree增加引导线 vue3项目element-plus树组件el-tree增加引导线 element-plus组件库的el-tree样式 因为element的样式不满足当前的的需求UI图所以对el-tree进行增加了引导线 修改样式如下增加引导线并且实现增删输入框 代码实现 1、在vue3中组件里面template模板引入el-tree组件需要设置:indent“0”不然每层树padding-left呈18px的倍数增加 div classmytreeel-tree:indent0:datadata:propsdefaultProps:expand-on-click-nodefalse:highlight-currentfalsenode-keyidnode-clickhandleNodeClick:default-expanded-keysexpDtable/el-tree /divindet设置每层叔padding-left为0data绑定的展示数据props配置选项里面配置节点子节点字段等默认绑定子节点childrenelement-plus里面有详细的解说[Tree 树形控件 | Element Plus]expand-on-click-node是否在点击节点的时候展开或者收缩节点 默认值为 true如果为 false则只有点箭头图标的时候才会展开或者收缩节点。node-key每个树节点用来作为唯一标识的属性整棵树应该是唯一的node-click当节点被点击的时候触发default-expanded-keys默认展开节点 2.在setup中声明变量datadefaultPropshandleNodeClickexpDtable import { computed, shallowRef,ref,onMounted } from vue;const expDtable ref([])const data ref([{name: ,type: ,describe: ,cekk: true,id: 1} ])const defaultProps {children: children,label: label, } const handleNodeClick data {console.log(data) }3.在el-tree里面写入输入框已经增删接着上面模板的代码 我们往里面继续写 el-tree:indent0:datadata:propsdefaultProps:expand-on-click-nodefalse:highlight-currentfalsenode-keyidnode-clickhandleNodeClick:default-expanded-keysexpDtabletemplate #default{ node, data }!-- {{node.level}} --div classcustom-tree-node styledisplay: flex; width: 100%div :style{width: node.level 1 ? 120px : node.level 2 ? 100px : 80px}el-input v-modeldata.name placeholder变量名 :disableddata.id 1 //divdiv stylewidth: 100px; margin-left: 10pxel-select v-modeldata.type placeholderSelect :disableddata.id 1el-option v-foritem in options :keyitem.value :labelitem.label :valueitem.value //el-select/divdiv stylewidth: 120px; margin-left: 10pxel-inputv-modeldata.describeplaceholder请输入用户变量用途typenumber:disableddata.id 1//divdiv stylewidth: 50px; text-align: center; margin-left: 20pxel-checkbox typecheckbox v-modeldata.cekk :disableddata.id 1 //divdiv stylewidth: 40px; text-align: rightspan stylecursor: pointer v-ifdata.type 2 data.boolean ! 1 clickchildAdd(node,data)/span/divdiv stylewidth: 40px; text-align: rightspan stylecursor: pointer v-ifdata.id ! 1 clickremove(node, data)-/span/div/div/template/el-tree4.在setup里面加上我们的新增方法删除方法以及选择框绑定的数据 import { computed, shallowRef,ref,onMounted } from vue;const containerRef shallowRef() const options [{value: 1,label: javaScript},{value: 2,label: Arrayobject} ]const expDtable ref([])const data ref([{name: ,type: ,describe: ,cekk: true,id: 1} ]) // 新增 const addUser () {data.value.push({name: ,type: ,describe: ,cekk: true,children: [],id: getRandomSixDigitNumber()}) }const remove (node, datas) {const parent node.parent;const children parent.data.children || parent.data;const index children.findIndex(d d.id datas.id);children.splice(index, 1) }const getRandomSixDigitNumber () {// 生成一个介于0包含和1不包含之间的随机浮点数let randomFloat Math.random()// 将这个浮点数放大到100000010^6的范围内并四舍五入到最近的整数let randomInt Math.floor(randomFloat * 1000000)// 检查生成的数是否小于100000六位数的最小值如果是则加上100000// 确保生成的数是一个六位数if (randomInt 100000) {randomInt 100000}return randomInt }const childAdd (node,value) {if (node.level 3) {return false}expDtable.value [value.id]value.children.push({name: ,type: ,describe: ,cekk: true,id: getRandomSixDigitNumber(),children: []})data.value data.value } const defaultProps {children: children,label: label, } const handleNodeClick data {console.log(data) }5.最后就是css主要代码实现在css部分该项目使用scssdeep深度选择器使用如下方式css代码如下 style /* 鼠标浮动过的背景颜色 */ .el-tree-node__content:hover {background: #eeeeee; } /* 鼠标点击时节点的背景颜色 */ .el-tree-node:focus.el-tree-node__content {background-color: #eeeeee !important;color: node; } /* 鼠标失去焦点时节点背景的颜色 */ .el-tree--highlight-current .el-tree-node.is-current.el-tree-node__content {background: #eeeeee; }/stylestyle langscss scoped ::v-deep .el-input__wrapper {border-radius: 10px; } ::v-deep .el-select__wrapper {border-radius: 10px; } .mytree {width: 110%;margin-left: -30px; } :deep(.mytree) {.el-tree-node {position: relative;padding-left: 10px;margin-top: 10px;// height:50px;background: none;// margin-bottom: 10px;}.el-tree-node__children {padding-left: 10px;// height:100px;// margin-top:10px;}.el-tree-node :last-child:before {height: 38px;}.el-tree .el-tree-node:before {border-left: none;}.el-tree .el-tree-node:after {border-top: none;}.el-tree {background: none;}.el-tree-node:before {content: ;left: -4px;position: absolute;right: auto;border-width: 1px;border-left: 1px dashed #1389bc;bottom: 0px;height: 100%;top: -26px;width: 1px;}.el-tree-node:after {content: ;left: -4px;position: absolute;right: auto;border-width: 1px;border-top: 1px dashed #1389bc;height: 20px;top: 12px;width: 18px;}// .el-tree .el-tree-node__expand-icon.expanded {// -webkit-transform: rotate(0deg);// transform: rotate(0deg);// }.el-tree .el-icon-caret-right:before {content: \e723;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {content: \e722;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree-node__expand-icon.is-leaf:before {content: \e722;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree-node__content .el-tree-node__expand-icon {padding: 0;// padding:10px 0;} } .start {width: 100%;// height: 400px;background: #eeeeee;margin: 0 auto;border-radius: 5px;.start-input {font-weight: 700;margin: 0 20px;}.table {width: 90%;margin: 0 auto;.table-row {display: flex;justify-content: space-between;font-size: 12px;color: #ccc;}.table-row-one {width: 100%;display: flex;justify-content: space-between;align-items: center;}}.button {margin: 0 20px;} } /style完整代码 templatediv stylepadding: 10px; width: 100%;div classstart style overflow: autodiv classstart-input输入/divdiv classtablediv classtable-rowdiv classtable-header stylewidth: 18%变量名/divdiv classtable-header stylewidth: 13%变量类型/divdiv classtable-header stylewidth: 15%; text-align: center描述/divdiv classtable-header是否必要/divdiv classtable-header/divdiv classtable-header/div/divdivdiv classtable-row-one!-- div stylewidth: 20%el-input v-modelinput placeholderPlease input //divdiv stylewidth: 25%el-select v-modelvalue placeholderSelectel-option v-foritem in options :keyitem.value :labelitem.label :valueitem.value //el-select/divdiv stylewidth: 25%el-input v-modelinput1 placeholderPlease input typenumber //divdiv stylewidth: 25%; margin-right: -70pxel-checkbox typecheckbox //divdivspan stylecursor: pointer/span/divdivspan stylecursor: pointer-/span/div --div classmytreeel-tree:indent0:datadata:propsdefaultProps:expand-on-click-nodefalse:highlight-currentfalsenode-keyidnode-clickhandleNodeClick:default-expanded-keysexpDtabletemplate #default{ node, data }!-- {{node.level}} --div classcustom-tree-node styledisplay: flex; width: 100%div :style{width: node.level 1 ? 120px : node.level 2 ? 100px : 80px}el-input v-modeldata.name placeholder变量名 :disableddata.id 1 //divdiv stylewidth: 100px; margin-left: 10pxel-select v-modeldata.type placeholderSelect :disableddata.id 1el-option v-foritem in options :keyitem.value :labelitem.label :valueitem.value //el-select/divdiv stylewidth: 120px; margin-left: 10pxel-inputv-modeldata.describeplaceholder请输入用户变量用途typenumber:disableddata.id 1//divdiv stylewidth: 50px; text-align: center; margin-left: 20pxel-checkbox typecheckbox v-modeldata.cekk :disableddata.id 1 //divdiv stylewidth: 40px; text-align: rightspan stylecursor: pointer v-ifdata.type 2 data.boolean ! 1 clickchildAdd(node,data)/span/divdiv stylewidth: 40px; text-align: rightspan stylecursor: pointer v-ifdata.id ! 1 clickremove(node, data)-/span/div/div/template/el-tree/div/div/div/divdiv classbuttonel-buttonv-forbutton in buttonsclickaddUser():keybutton.text:typebutton.typetextbgstylemargin-top: 30px{{ button.text }}/el-button/div/div/div /templatescript setup import { computed, shallowRef,ref,onMounted } from vue;const buttons [{ type: primary, text: 新增 }]const input ref() const input1 ref()const value ref() const options [{value: 1,label: javaScript},{value: 2,label: Arrayobject} ]const expDtable ref([])const data ref([{name: ,type: ,describe: ,cekk: true,id: 1} ]) // 新增 const addUser () {data.value.push({name: ,type: ,describe: ,cekk: true,children: [],id: getRandomSixDigitNumber()}) }const remove (node, datas) {const parent node.parent;const children parent.data.children || parent.data;const index children.findIndex(d d.id datas.id);children.splice(index, 1)// const parent node.parent// const children parent.data.children || parent.data// console.log(children)// const id children.filter(d d.id datas.id)// if (id.length 0) {// console.log(id[0].id)// const T data.value.slice(id[0].id, 1)// console.log(data.value)// console.log(T)// data.value [...data.value]// }}const getRandomSixDigitNumber () {// 生成一个介于0包含和1不包含之间的随机浮点数let randomFloat Math.random()// 将这个浮点数放大到100000010^6的范围内并四舍五入到最近的整数let randomInt Math.floor(randomFloat * 1000000)// 检查生成的数是否小于100000六位数的最小值如果是则加上100000// 确保生成的数是一个六位数if (randomInt 100000) {randomInt 100000}return randomInt }const childAdd (node,value) {if (node.level 3) {return false}expDtable.value [value.id]value.children.push({name: ,type: ,describe: ,cekk: true,id: getRandomSixDigitNumber(),children: []})data.value data.value } const defaultProps {children: children,label: label, } const handleNodeClick data {console.log(data) } /scriptstyle /* 鼠标浮动过的背景颜色 */ .el-tree-node__content:hover {background: #eeeeee; } /* 鼠标点击时节点的背景颜色 */ .el-tree-node:focus.el-tree-node__content {background-color: #eeeeee !important;color: node; } /* 鼠标失去焦点时节点背景的颜色 */ .el-tree--highlight-current .el-tree-node.is-current.el-tree-node__content {background: #eeeeee; }/stylestyle langscss scoped ::v-deep .el-input__wrapper {border-radius: 10px; } ::v-deep .el-select__wrapper {border-radius: 10px; } .mytree {width: 110%;margin-left: -30px; } :deep(.mytree) {.el-tree-node {position: relative;padding-left: 10px;margin-top: 10px;// height:50px;background: none;// margin-bottom: 10px;}.el-tree-node__children {padding-left: 10px;// height:100px;// margin-top:10px;}.el-tree-node :last-child:before {height: 38px;}.el-tree .el-tree-node:before {border-left: none;}.el-tree .el-tree-node:after {border-top: none;}.el-tree {background: none;}.el-tree-node:before {content: ;left: -4px;position: absolute;right: auto;border-width: 1px;border-left: 1px dashed #1389bc;bottom: 0px;height: 100%;top: -26px;width: 1px;}.el-tree-node:after {content: ;left: -4px;position: absolute;right: auto;border-width: 1px;border-top: 1px dashed #1389bc;height: 20px;top: 12px;width: 18px;}// .el-tree .el-tree-node__expand-icon.expanded {// -webkit-transform: rotate(0deg);// transform: rotate(0deg);// }.el-tree .el-icon-caret-right:before {content: \e723;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {content: \e722;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree-node__expand-icon.is-leaf:before {content: \e722;font-size: 16px;color: #1389bc;position: absolute;left: -20px;top: -8px;}.el-tree-node__content .el-tree-node__expand-icon {padding: 0;// padding:10px 0;} } .start {width: 100%;// height: 400px;background: #eeeeee;margin: 0 auto;border-radius: 5px;.start-input {font-weight: 700;margin: 0 20px;}.table {width: 90%;margin: 0 auto;.table-row {display: flex;justify-content: space-between;font-size: 12px;color: #ccc;}.table-row-one {width: 100%;display: flex;justify-content: space-between;align-items: center;}}.button {margin: 0 20px;} } /style
http://www.tj-hxxt.cn/news/233340.html

相关文章:

  • 黄金网站大全免费wordpress app 生成6
  • 如何跟客户介绍网站建设和推广丹徒网站建设机构
  • 住房建设部网站 保定wordpress svg logo
  • 太原建设网站温州房产信息网
  • 关于计算机网站开发的论文题目常见的网站开发工具
  • 淘宝客网站开发一个下载服务器安装
  • 医院网站素材在什么网站做兼职翻译
  • 服装网站目标河间网站制作公司
  • 代账行业门户网站开发网站建设平台安全问题有哪些
  • 为什么很多公司没自己的网站手机网站建设培训
  • 做网站还需要兼容ie8吗吉林省级建设行政主管部门政务网站
  • 大连个人网站建设谷歌google官网入口
  • 平台网站建设设计安徽淮南
  • 建设部规范公布网站网页设计与网站建设在线第二章
  • 关系建设的网站淮北建设网站
  • 佛山网站设计师google付费推广
  • 网站集约化建设方案深圳平台型网站建设公司
  • 受欢迎的汕头网站推广wordpress居中
  • 温州市手机网站制作哪家便宜邯郸有做网站的吗
  • 永清县建设局 网站室内设计联盟邀请码免费
  • 凡科免费网站可以做推广吗河南安阳县
  • 外贸自建站的推广方式自己做的网站收录怎么提升
  • 怎样做关于自己的网站精准大数据获客系统
  • 安徽池州做网站的公司广东企业网站建设
  • 重庆市企业网站建设免费空间网站php
  • 微信商城网站建设视频wordpress 仿站
  • 网站建设的毕设报告建购物网站 教程
  • 网站建设不力 被问责佛山市国外网站建设公司
  • 视频分享网站建设难吗广州市建设企业网站哪家好
  • 自助建站还是人工建站好WordPress登录提醒