xm-select/src/config/options.js
2019-11-26 15:50:01 +08:00

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 }){
}
}
}