export default class DSJCascader { options: Array = []; //可选项数据源,键名可通过 Props 属性配置 //可选项数据源,键名可通过 Props 属性配置 //可选项数据源,键名可通过 Props 属性配置 props!: object; //配置选项 //配置选项 size!: string; // 尺寸 // 尺寸 placeholder!: string; //输入框占位文本 //输入框占位文本 disabled: boolean = false; //是否禁用 //是否禁用 clearable: boolean = false; //是否支持清空选项 //是否支持清空选项 showAllLevels: boolean = false; //输入框中是否显示选中值的完整路径 //输入框中是否显示选中值的完整路径 collapseTags: boolean = false; //多选模式下是否折叠Tag //多选模式下是否折叠Tag //多选模式下是否折叠Tag separator!: string; //选项分隔符 //选项分隔符 filterable: boolean = false; //是否可搜索选项 //是否可搜索选项 //是否可搜索选项 filterMethod!: Function; //自定义搜索逻辑,第一个参数是节点node,第二个参数是搜索关键词keyword,通过返回布尔值表示是否命中 function(node, keyword) //自定义搜索逻辑,第一个参数是节点node,第二个参数是搜索关键词keyword,通过返回布尔值表示是否命中 function(node, keyword) debounce!: number; //搜索关键词输入的去抖延迟,毫秒 //搜索关键词输入的去抖延迟,毫秒 beforeFilter!: Function; //筛选之前的钩子,参数为输入的值,若返回 false 或者返回 Promise 且被 reject,则停止筛选 //筛选之前的钩子,参数为输入的值,若返回 false 或者返回 Promise 且被 reject,则停止筛选 popperClass!: string; //自定义浮层类名 //自定义浮层类名 popperAppendToBody: boolean = false; //是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false //是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false //是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false change!: Function; //当选中节点变化时触发 (选中节点的值) //当选中节点变化时触发 (选中节点的值) expandChange!: Function; //当展开节点发生变化时触发 //当展开节点发生变化时触发 blur!: Function; //当失去焦点时触发 //当失去焦点时触发 focus!: Function; //当获得焦点时触发 //当获得焦点时触发 visibleChange!: Function; //下拉框出现/隐藏时触发 //下拉框出现/隐藏时触发 removeTag!: Function; //在多选模式下,移除Tag时触发 //在多选模式下,移除Tag时触发 isChinaData!: Boolean; //是否直接返回省市区数据 //是否直接返回省市区数据 constructor(opt: any) { Object.assign(this,{ options: [], props: {}, size: 'small', placeholder: '请选择', disabled: false, clearable: true, showAllLevels: true, collapseTags: false, separator: '/', filterable: true, filterMethod: () => {}, debounce: 300, beforeFilter: () => {}, popperClass: '', popperAppendToBody: true, change: () => {}, expandChange: () => {}, blur: () => {}, focus: () => {}, visibleChange: () => {}, removeTag: () => {}, isChinaData: false, }, opt, {}); } }