export default class DSJInput { isFormItem: boolean = false; //是否为表单内组件 //是否为表单内组件 //是否为表单内组件 type!: string; //类型 //类型 maxlength!: string | number; //最大输入长度 //最大输入长度 minlength!: string | number; //原生属性,最小输入长度 //原生属性,最小输入长度 showWordLimit: boolean = false; //是否显示输入字数统计,只在 type = "text" 或 type = "textarea" 时有效 //是否显示输入字数统计,只在 type = "text" 或 type = "textarea" 时有效 //是否显示输入字数统计,只在 type = "text" 或 type = "textarea" 时有效 placeholder!: string; //输入框占位文本 //输入框占位文本 clearable: boolean = false; //是否可清空 //是否可清空 showPassword: boolean = false; //是否显示切换密码图标 //是否显示切换密码图标 disabled: boolean = false; //禁用 //禁用 //禁用 size!: string; //输入框尺寸,只在 type!="textarea" 时有效 //输入框尺寸,只在 type!="textarea" 时有效 prefixIcon!: string; //输入框头部图标 //输入框头部图标 suffixIcon!: string; //输入框尾部图标 //输入框尾部图标 rows!: number; //输入框行数,只对 type="textarea" 有效 //输入框行数,只对 type="textarea" 有效 autosize: boolean | object = false; //自适应内容高度,只对 type="textarea" 有效,可传入对象,如,{ minRows: 2, maxRows: 6 } //自适应内容高度,只对 type="textarea" 有效,可传入对象,如,{ minRows: 2, maxRows: 6 } //自适应内容高度,只对 type="textarea" 有效,可传入对象,如,{ minRows: 2, maxRows: 6 } resize!: string; //控制是否能被用户缩放 //控制是否能被用户缩放 label!: string; //输入框关联的label文字 //输入框关联的label文字 tabindex!: string | number; //输入框的tabindex //输入框的tabindex validateEvent: boolean = false; //输入时是否触发表单的校验 //输入时是否触发表单的校验 //输入时是否触发表单的校验 inputStyle!: Object; //input元素或textarea元素的style //input元素或textarea元素的style blur!: Function; //在 Input 失去焦点时触发(event: Event) //在 Input 失去焦点时触发(event: Event) focus!: Function; //在 Input 获得焦点时触发(event: Event) //在 Input 获得焦点时触发(event: Event) change!: Function; //仅在输入框失去焦点或用户按下回车时触发(value: string | number) //仅在输入框失去焦点或用户按下回车时触发(value: string | number) input!: Function; //在 Input 值改变时触发(value: string | number) //在 Input 值改变时触发(value: string | number) clear!: Function; //在点击由 clearable 属性生成的清空按钮时触发 //在点击由 clearable 属性生成的清空按钮时触发 constructor(opt: any) { Object.assign(this,{ isFormItem: false, type: 'text', maxlength: '', minlength: '', showWordLimit: false, placeholder: '', clearable: true, showPassword: false, disabled: false, size: 'small', prefixIcon: '', suffixIcon: '', rows: '', autosize: false, resize: 'none', label: '', tabindex: '', validateEvent: false, inputStyle: {}, blur: ()=>{}, focus: ()=>{}, change: ()=>{}, input: ()=>{}, clear: ()=>{}, }, opt, {}); } }