Appearance
BizTemplateInput 模板变量输入
文案 + ${变量} 占位符的模板编辑器:工具栏「插入变量」下拉(按 group 聚类)点选在光标处插入 ${name};失焦 / 预览时校验未注册变量与未闭合 ${(下方报错列出位置);「预览」用 sample 示例值实时替换渲染(变量徽标高亮、未注册红色,纯前端不发请求);已用变量计数、maxlength 字数统计。适用于短信 / 邮件 / 站内信模板、合同条款变量、审批提醒话术、打印模板——所有「文案 + 数据占位符」场景。
与相关组件的边界:BizMentionInput 面向 @ 提及具体人员(插入姓名,带人员候选弹层);BizI18nInput 面向同一文案多语言录入;BizTemplateInput 面向插入数据占位符并校验 / 预览。
基础用法
52 / 500
「插入变量」面板点选在光标处插入 ${变量};工具栏实时统计已用变量数。
分组变量
53 / 500
变量定义 group 字段聚类展示,变量多的业务按域分组更易检索。
校验未注册变量
40 / 500
${staff} 未在白名单:失焦即在下方报错并列出未注册变量;再手输一个未闭合的 ${name(缺 })试试未闭合校验。
实时预览
40 / 500
点击「预览」切换渲染态:变量用 sample 示例值替换并徽标高亮(未注册变量红色提示), 纯前端渲染不发请求。
变量白名单收敛 + 字数限制
29 / 70
maxlength 开启字数统计(短信按 70 字计费条数);白名单仅两个变量,面板即选即插防止运营手输错变量名。
禁用与纯校验模式
禁用只读(协议模板不可改)
toolbar=false(嵌入页面自有操作栏)
33 / 500
事件与 expose
38 / 500
短信模板实战
短信模板
55 字 · 1 条计费
55 / 200
预览态确认示例值后再保存,避免变量拼错线上事故。
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| model-value / v-model | string | '' | 模板文本(可含 ${变量} 占位符) |
| variables | BizTemplateVariable[] | [] | 可用变量白名单(面板点选 + 校验 + 预览依据) |
| rows | number | 4 | 文本域行数 |
| placeholder | string | '请输入模板内容,可插入 ${变量}' | 占位提示 |
| disabled | boolean | false | 禁用(工具栏同步禁用) |
| maxlength | number | 500 | 字数上限(0 不限制),开启字数统计 |
| show-error | boolean | true | 校验失败时是否在下方展示原因 |
| toolbar | boolean | true | 是否显示工具栏(插入变量下拉 + 已用计数 + 预览切换) |
BizTemplateVariable: { name: string; label?: string; sample?: string; group?: string }——name 变量名(插入 ${name})、label 面板文案(缺省取 name)、sample 预览示例值(缺省取 name)、group 面板分组(缺省「常用变量」)。
Events
| 事件名 | 参数 | 说明 |
|---|---|---|
| update:model-value | (value: string) | 输入 / 插入变量后落值 |
| change | (value: string) | 输入 / 插入变量后触发 |
| blur | (result: BizTemplateValidateResult) | 失焦校验结果 { valid, message, used } |
Expose
| 属性/方法 | 类型 | 说明 |
|---|---|---|
| validate | () => BizTemplateValidateResult | 触发校验,返回 { valid, message, used }(used 为去重按出现顺序的变量名) |
| getUsedVariables | () => string[] | 当前使用的变量名列表 |
| insertVariable | (name: string) => void | 编程插入变量(等价面板点选,落光标处) |