Skip to content

MultipleInput 多行输入

支持从剪切板粘贴的多行文本输入组件。

基础用法

验证

通过validate-list属性设置验证规则。

扩展快捷按钮

通过extend-quick-actions属性扩展快捷操作按钮。

API

属性

名称说明类型默认值
title标题string
defaultTexts默认文本array[]
width宽度string
max最大输入行数numberInfinity
showMax是否显示最大行数booleantrue
tip提示信息string
placeholder占位符string请粘贴或输入,回车可换行
supporOutSort是否支持乱序booleanfalse
disabled是否禁用booleanfalse
validateList输入内容验证规则列表arrayarray
parseTextsWithClipboard解析粘贴板内容functionfunction
extendQuickActions扩展快捷操作按钮array[]

方法

名称说明类型
getInputTexts获取当然输入的文本内容function
setDefaultInputTexts设置默认文本function
clear清空输入内容function

插槽

名称说明
title标题

TS 类型

点我查看代码
ts
// 输入项配置
interface InputItem {
  id: number; // 唯一表示
  value: string;
  validate: boolean; // 验证状态
  el: any; // el实例
}

// 输入项验证配置
interface ValidateItem {
  /**
   * @desc 自定义验证的方法
   * @param text 当前输入框的值
   * @param otherTexts 其他输入框非空值
   * @param before 当前输入框之前的文本
   * @param after 当前输入框之后的文本
   * @example
   *
   * // 验证输入文本的长度是否在5 ~ 55 之间
   * validate(text, otherTexts) {
   *    return text.trim().length >=5 && text.trim().length <=55
   * }
   */
  validate: (text: string, otherTexts: string[], before: string[], after: string[]) => boolean;
  /**
   * @desc 用于在输入文本不能通过校验函数时,给出的提示
   * @example 以下标题内容只能在5~55字符之间
   */
  errLabel: string; //校验失败文本
  /**
   * @desc 排除源文本
   * @default false
   */
  excludeSource?: boolean;
}

// 快速按钮配置
interface QuickBtnConfig {
  /**
   * @desc 快速按钮名称
   */
  name: string;
  /**
   * 处理当前输入框列表
   * @param inputList 当前输入框列表
   */
  handleCallback: (inputList: InputItem[]) => InputItem[];
}