Skip to content

BizMentionInput @提及输入 ​

文本域 + 候选人弹层的 @ 提及输入:输入 @ 唤起候选、随输随筛(姓名 / 拼音等 keyword)、↑↓ + Enter / Tab 键盘选择、选中插入 @姓名 并回填光标、getMentions() 提取已提及人员。评论 @ 提醒、协作通知、工单转发选人等场景的轻量选人输入(重型选人用 BizTablePicker)。

基础用法 ​

输入 @ 唤起候选;支持姓名或拼音关键字筛选,↑↓ 选择、Enter / Tab 确认

输入 @ 唤起候选人,继续输入筛选;点击或 ↑↓ + Enter 选中插入。

自定义触发字符 ​

trigger 支持任意字符与多字符组合(如 '@@'),getMentions 同样按自定义触发符提取

trigger 支持 #(话题)、@@(多字符精确唤起)等自定义触发。

远程检索 ​

filter-method 返回 true 关闭本地过滤,候选完全由远程结果驱动

filter-method 接管过滤 + loading 展示搜索态,search 事件回传查询串做远程请求。

自定义候选项 ​

item 插槽接管候选行(头像 / 部门 / 工号自由排版)。

提及提取与程序化插入 ​

已提及(getMentions 实时提取):

getMentions 提取文本中已提及人员(含位置),insertMention 程序化追加。

禁用与只读 ​

disabled / readonly 透传至文本域,不唤起候选弹层。

头像展示 ​

members 配 avatar 字段时候选行渲染真实头像,缺省回退姓名首字圆形底。

大文本域与弹层高度 ​

14 个候选超出 max-height 180 时弹层内部滚动;换行后输入 @ 弹层跟随光标所在行下移

rows=6 光标行跟随唤起位置;候选超出 max-height 时弹层内部滚动。

Props ​

属性名类型默认值说明
v-modelstring''输入内容
membersBizMentionMember[][]候选人员(id / name / keyword / avatar / description)
triggerstring'@'触发字符,支持多字符(如 '@@')
placeholderstring'请输入内容,@提及人员'占位文案
disabledbooleanfalse禁用
readonlybooleanfalse只读
rowsnumber3文本域行数(弹层纵向跟随光标行)
max-heightnumber | string264候选弹层最大高度(超出滚动)
filter-method(query, member) => boolean—自定义过滤;缺省按 name / keyword 不区分大小写子串匹配
empty-textstring'无匹配人员'候选为空文案
loadingbooleanfalse远程检索 loading(弹层内展示搜索中)

Events ​

事件名参数说明
update:modelValue(value: string)输入内容变化
change(value: string)同 update:modelValue(含选中插入)
search(query: string)唤起候选后查询串变化(远程检索时机)
select(member: BizMentionMember)选中候选人(含程序化插入)

Slots ​

插槽名作用域说明
item{ member, active, index }候选行接管

Expose ​

名称类型说明
focus() => void聚焦文本域
blur() => void失焦文本域
clear() => void清空内容
getMentions() => BizMentionHit[]提取已提及人员(member + start / end 位置)
insertMention(member) => void程序化末尾追加提及

TIP

提及识别按 @姓名 后跟空白或结尾判定,姓名含空格的成员不适合默认插入格式——可经 select 事件自定义回写。其余文本域能力(maxlength / autosize 等)经 attrs 透传至 el-input。