diff --git a/src/components/plugin/tree.js b/src/components/plugin/tree.js index db8c8486c51dbc50d9789df1975edf1c7ad57658..249ac62c2f458777a68b34ae13dce28db6dc1c10 100644 --- a/src/components/plugin/tree.js +++ b/src/components/plugin/tree.js @@ -159,9 +159,9 @@ class Tree extends Component{ data.forEach((item, index) => { //首先判断父节点的状态是显示还是隐藏 let hiddenStatus = val ? !filterMethod(val, item, index, prop) : false; - //严格模式下, 不计算父节点的状态 + //严格模式下, 不计算父节点的状态 ---->zdl-改成:严格搜索模式 let thisParentHidden; - if(tree.strict){ + if(tree.strict && tree.strictFilter){ thisParentHidden = false; }else{//非严格模式下, 父节点显示, 子节点无条件显示 thisParentHidden = parentHidden === false ? false : hiddenStatus; @@ -173,8 +173,8 @@ class Tree extends Component{ let child = this.filterData(item[children], val, thisParentHidden); let childHiddenStatus = val ? child.filter(c => !c.__node.hidn).length === 0 : false; - //严格模式下子节点都隐藏了, 父节点也不显示 - if(tree.strict){ + //严格模式下子节点都隐藏了, 父节点也不显示 ---->zdl-改成:严格搜索模式 + if(tree.strict && tree.strictFilter){ hiddenStatus = childHiddenStatus; }else{//非严格模式, 父节点没有搜索到, 看看子节点有没有显示的 hiddenStatus = thisParentHidden && childHiddenStatus; diff --git a/src/config/options.js b/src/config/options.js index d9e9c02af61c6bfa3024b6ae574221a1bc8ea7d9..5b8d833238cd05b525555452bd2c274df11a8b95 100644 --- a/src/config/options.js +++ b/src/config/options.js @@ -1,110 +1,112 @@ -import zn from './language/zn' -import en from './language/en' - -const lanSetting = { zn, en } - -export default function (lan = 'zn') { - let setting = lanSetting[lan] || zn; - - return { - //配置语言 - language: lan, - //所有的语言配置 - languageProp: setting, - //多选数据 - data: [], - //自定义数据 - content: '', - //表单提交的name +import zn from './language/zn' +import en from './language/en' + +const lanSetting = { zn, en } + +export default function (lan = 'zn') { + let setting = lanSetting[lan] || zn; + + return { + //配置语言 + language: lan, + //所有的语言配置 + languageProp: setting, + //多选数据 + data: [], + //自定义数据 + content: '', + //表单提交的name name: 'select', //表单验证 layVerify: '', //验证类型 layVerType: '', //验证提示 - layReqText: '', - //尺寸 - size: 'medium', - //是否禁用多选 - disabled: false, - //默认选中数据, 优先级大于selected - initValue: null, - //创建条目 - create: null, - //默认提示 - tips: setting.tips, - //空数据提示 - empty: setting.empty, - //搜索延迟 ms - delay: 500, - //搜索默认提示 - searchTips: setting.searchTips, - //是否开始本地搜索 - filterable: false, - //本地搜索过滤方法 - filterMethod: function(val, item, index, prop){ - if(!val) return true; - return item[prop.name].indexOf(val) != -1; - }, - //是否开启远程搜索 - remoteSearch: false, - //远程搜索回调 - remoteMethod: function(val, cb){ - cb([]); - }, - //下拉方向 - direction: 'auto', - //自定义样式 - style: {}, - //默认多选的高度 - height: '200px', - //已选中数据是否自动换行显示 - autoRow: false, - //是否开启分页 - paging: false, - //分页每页的条数 - pageSize: 10, - //分页无数据是否展示分页 + layReqText: '', + //尺寸 + size: 'medium', + //是否禁用多选 + disabled: false, + //默认选中数据, 优先级大于selected + initValue: null, + //创建条目 + create: null, + //默认提示 + tips: setting.tips, + //空数据提示 + empty: setting.empty, + //搜索延迟 ms + delay: 500, + //搜索默认提示 + searchTips: setting.searchTips, + //是否开始本地搜索 + filterable: false, + //本地搜索过滤方法 + filterMethod: function(val, item, index, prop){ + if(!val) return true; + return item[prop.name].indexOf(val) != -1; + }, + //是否开启远程搜索 + remoteSearch: false, + //远程搜索回调 + remoteMethod: function(val, cb){ + cb([]); + }, + //下拉方向 + direction: 'auto', + //自定义样式 + style: {}, + //默认多选的高度 + height: '200px', + //已选中数据是否自动换行显示 + autoRow: false, + //是否开启分页 + paging: false, + //分页每页的条数 + pageSize: 10, + //分页无数据是否展示分页 pageEmptyShow: true, //是否开启远程分页 - pageRemote: false, - //是否开启单选模式 - radio: false, - //是否开启重复选模式 - repeat: false, - //是否点击选项后自动关闭下拉框 - clickClose: false, - //多选上限 - max: 0, - maxMethod: function(sels, item){}, - //选项显示数量 + pageRemote: false, + //是否开启单选模式 + radio: false, + //是否开启重复选模式 + repeat: false, + //是否点击选项后自动关闭下拉框 + clickClose: false, + //多选上限 + max: 0, + maxMethod: function(sels, item){}, + //选项显示数量 showCount: 0, //是否开启键盘操作 enableKeyboard: true, //开启键盘操作后是否默认选中第一条 enableHoverFirst: true, //键盘选中的KeyCode, 默认是Enter - selectedKeyCode: 13, - //工具条 - toolbar: { - show: false, - showIcon: true, - list: [ 'ALL', 'CLEAR' ], + selectedKeyCode: 13, + //工具条 + toolbar: { + show: false, + showIcon: true, + list: [ 'ALL', 'CLEAR' ], }, - //树状结构 + //树状结构 tree: { - //是否展示树 + //是否展示树 show: false, - //是否展示三角图标 + //是否展示三角图标 showFolderIcon: true, - //是否展示连接线 + //是否展示连接线 showLine: true, - //间距 + //间距 indent: 20, - //默认展开的节点数组 + //默认展开的节点数组 expandedKeys: [], //是否严格遵守父子模式 strict: true, + //是否严格模式下搜索:false表示可以搜索父节点;true表示只能搜索子节点(即严格搜索模式) + strictFilter: false, //是否懒加载 lazy: false, //懒加载回调 @@ -116,7 +118,7 @@ export default function (lan = 'zn') { //点击节点是否展开 clickExpand: true, //点击节点是否选中 - clickCheck: true, + clickCheck: true, }, //级联结构 cascader: { @@ -126,45 +128,45 @@ export default function (lan = 'zn') { indent: 100, //是否严格遵守父子模式 strict: true, - }, - //自定义属性名称 - prop: { - name: 'name', - value: 'value', - selected: 'selected', - disabled: 'disabled', - children: 'children', - optgroup: 'optgroup', - click: 'click', - }, - //主题配置 - theme: { - color: '#009688', //默认主题颜色 - maxColor: '#e54d42', //多选上限边框闪烁颜色 - hover: '#f2f2f2', //键盘hover的颜色 - }, - //模型 - model: { - label: { - type: 'block', - text: { - left: '', - right: '', - separator: ', ', - }, - block: { - showCount: 0, + }, + //自定义属性名称 + prop: { + name: 'name', + value: 'value', + selected: 'selected', + disabled: 'disabled', + children: 'children', + optgroup: 'optgroup', + click: 'click', + }, + //主题配置 + theme: { + color: '#009688', //默认主题颜色 + maxColor: '#e54d42', //多选上限边框闪烁颜色 + hover: '#f2f2f2', //键盘hover的颜色 + }, + //模型 + model: { + label: { + type: 'block', + text: { + left: '', + right: '', + separator: ', ', + }, + block: { + showCount: 0, showIcon: true, - template: null, - }, - count: { - template(data, sels){ - return `已选中 ${sels.length} 项, 共 ${data.length} 项` - } - }, - }, + template: null, + }, + count: { + template(data, sels){ + return `已选中 ${sels.length} 项, 共 ${data.length} 项` + } + }, + }, icon: 'show', - type: 'absolute',//可选值, relative, fixed + type: 'absolute',//可选值, relative, fixed }, //自定义选中的图标 iconfont: { @@ -172,22 +174,22 @@ export default function (lan = 'zn') { unselect: '', half: '', parent: '', - }, - // 展开下拉框 - show(){ - - }, - // 隐藏下拉框 - hide(){ - - }, - // 模板组成, 当前option数据, 已经选中的数据, name, value - template({ item, sels, name, value }){ - return name; - }, - //监听选中事件 - on({ arr, item, selected }){ - + }, + // 展开下拉框 + show(){ + + }, + // 隐藏下拉框 + hide(){ + + }, + // 模板组成, 当前option数据, 已经选中的数据, name, value + template({ item, sels, name, value }){ + return name; + }, + //监听选中事件 + on({ arr, item, selected }){ + }, submitConversion(sels, prop){ return sels.map(item => item[prop.value]).join(',') @@ -195,5 +197,5 @@ export default function (lan = 'zn') { done(){ } - } -} + } +}