export default {
	// 标准属性
	key: '', // 关联名称 对应model中的属性名称 // 注意: 不要给同一组筛选器里定义重复的key
	dependentKeys: [], // 依赖项 对应model中的属性名称 用于形成关系树 // 注意: 自己定义依赖时千万不要形成循环依赖;
	title: '', // 标题
	template: '', // 渲染模板, 不填使用默认模板		// 还是因为移动端不支持for循环中出现slot的原因
	allCode: '',
	allLabel: '所有',
	modelAsParam: false, // isDependencyReady，getList是否使用整个model为参数
	neverCache: false, // 是否永不缓存
	disableAllByForce: false, // 强制不添加所有，比如时间范围，选所有没有意义

	// 标准方法
	isDependencyReady: function(param) {
		return true;
	}, // 判定依赖条件是否满足, 框架会根据关系树传入param, 也可以借此方法区分强依赖与弱依赖
	getList: function(param) {
		return Promise.resolve([])
	}, // 获取列表的方法, 入参数为关系树参数及列表完毕后的回调
	getCode(item) {
		return item.id
	}, // 获取元素绑定值，最终会赋值到model上
	getLabel(item) {
		return item.name
	}, // 获取元素显示值，最终会渲染到视图上
	transferToEffectiveDisplayValue(val, list) {
		return list.length && list.some(i => i.code == val) ? val : list.length ? list[0].code : ''
	}, // 当前选中值是否有效，如果没有效需要走默认值逻辑
	codeEquals(codeL, codeR) {
		return codeL == codeR
	}
}
