输入字段 两种 一种输出匹配到的级别
<template>
<div>
<div @click="GroupChange('数据')">aaaaaaaaaaaaaaaaa</div>
</div>
</template>
<script>
export default {
name: "App",
data() {
return {
aaaaaaa: [
{
"icon": "",
"name": "_home",
"meta": {
"title": "首页"
}
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "配置管理",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicApp",
"meta": {
"title": "应用系统维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicSubApp",
"meta": {
"title": "子应用系统维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicModule",
"meta": {
"title": "模块维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicParameterCatalog",
"meta": {
"title": "应用系统参数配置",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicAttributeDefinition",
"meta": {
"title": "属性定义",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicMarkColumn",
"meta": {
"title": "字段修改痕迹保留配置",
"icon": ""
}
,
"children": [{
"icon": "",
"name": "EBasicMarkRecord",
"meta": {
"title": "重要修改查询",
"icon": ""
},
"children": [{
"icon": "",
"name": "EBasicMarkRecord",
"meta": {
"title": "重要数据修改查询",
"icon": ""
}
}]
}]
}
]
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "医疗机构",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicOrg",
"meta": {
"title": "医疗机构维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicDivision",
"meta": {
"title": "院区信息维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicDept",
"meta": {
"title": "部门信息维护",
"icon": ""
}
}
]
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "用户信息",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicUser",
"meta": {
"title": "用户信息维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicTestUser",
"meta": {
"title": "测试用户维护",
"icon": ""
}
}
]
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "权限设置",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicRole",
"meta": {
"title": "角色信息维护",
"icon": ""
},
"children": [
{
"icon": "",
"name": "EBasicDictionaryCatalog",
"meta": {
"title": "公共数据字典维护",
"icon": ""
}
}
]
}
]
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "安全管理",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicLoginLog",
"meta": {
"title": "系统登录信息处理",
"icon": ""
}
}
]
},
{
"icon": "ios-home-outline",
"name": "",
"meta": {
"title": "数据字典",
"icon": "ios-home-outline"
},
"children": [
{
"icon": "",
"name": "EBasicDictionaryCatalog",
"meta": {
"title": "公共数据字典维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicNativePlace",
"meta": {
"title": "行政区划维护",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicPywbAutocomplete",
"meta": {
"title": "拼音五笔自动补齐",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicDmsCorrection",
"meta": {
"title": "数据修订",
"icon": ""
}
},
{
"icon": "",
"name": "EBasicDmsApprove",
"meta": {
"title": "审批申请",
"icon": ""
}
}
]
}
],
}
},
methods: {
//这个是多级
GroupChange(e){
console.log(this.filterArr(this.aaaaaaa, "数据"))
},
filterArr(arr, str){
return arr.filter(v => {
if(this.isInclude(v, str)){
return true
}else if(v.children && v.children.length){
v.children = this.filterArr(v.children, str);
return v.children.length;
}
})
},
isInclude(obj, str){
if(!obj.meta || !obj.meta.title){
return false
}
return obj.meta.title.indexOf(str) > -1
},
//这个不获取父级 只获取当前
// getParentId(list, iid) {
// for(let o of list || []) {
// if(o.meta.title.indexOf(iid) != -1) {
// this.ccccc.push(o)
// } else {
// this.ddddd = o
// const o_ = this.getParentId(o.children, iid);
// }
//
// }
// return this.ccccc
// },
//
// GroupChange(e) {
// console.log(this.getParentId(this.aaaaaaa, e));
// this.ccccc = []
// },
}
}
</script>
,一种返回第一级以及对应子集