162 lines
3.3 KiB
JavaScript
162 lines
3.3 KiB
JavaScript
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: '',
|
|
//尺寸
|
|
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){},
|
|
//选项显示数量
|
|
showCount: 0,
|
|
//工具条
|
|
toolbar: {
|
|
show: false,
|
|
showIcon: true,
|
|
list: [ 'ALL', 'CLEAR' ],
|
|
},
|
|
//树状结构
|
|
tree: {
|
|
//是否展示树
|
|
show: false,
|
|
//是否展示三角图标
|
|
showFolderIcon: true,
|
|
//是否展示连接线
|
|
showLine: true,
|
|
//间距
|
|
indent: 20,
|
|
//默认展开的节点数组
|
|
expandedKeys: [],
|
|
//是否严格遵守父子模式
|
|
strict: true,
|
|
//是否懒加载
|
|
lazy: false,
|
|
//懒加载回调
|
|
load: null,
|
|
},
|
|
//自定义属性名称
|
|
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} 项`
|
|
}
|
|
},
|
|
},
|
|
icon: 'show',
|
|
},
|
|
|
|
// 展开下拉框
|
|
show(){
|
|
|
|
},
|
|
// 隐藏下拉框
|
|
hide(){
|
|
|
|
},
|
|
// 模板组成, 当前option数据, 已经选中的数据, name, value
|
|
template({ item, sels, name, value }){
|
|
return name;
|
|
},
|
|
//监听选中事件
|
|
on({ arr, item, selected }){
|
|
|
|
}
|
|
}
|
|
}
|