Input 输入框
规则
基础示例
js
const rule = {
type:"input",
title:"商品名称",
field:"goods_name",
value:"iphone 7",
props: {
placeholder: "请输入商品名称",
clearable: true,
},
validate:[
{ required: true, message: '请输入goods_name', trigger: 'blur' },
],
}Props 配置示例
文本输入框(text)
js
const rule = {
type:"input",
title:"用户名",
field:"username",
props: {
placeholder: "请输入用户名",
clearable: true,
prefixIcon: "user",
}
}文本域(textarea)
js
const rule = {
type:"input",
title:"商品描述",
field:"description",
props: {
type: "textarea",
placeholder: "请输入商品描述",
autosize: { minRows: 3, maxRows: 6 },
}
}密码输入框(password)
js
const rule = {
type:"input",
title:"密码",
field:"password",
props: {
type: "password",
placeholder: "请输入密码",
clearable: true,
}
}可清空输入框
js
const rule = {
type:"input",
title:"搜索关键词",
field:"keyword",
props: {
placeholder: "请输入搜索关键词",
clearable: true,
}
}显示字数统计
js
const rule = {
type:"input",
title:"商品描述",
field:"description",
props: {
type: "textarea",
placeholder: "请输入商品描述",
maxlength: 200,
showWordLimit: true,
}
}禁用和只读
js
const rule = {
type:"input",
title:"订单号",
field:"order_no",
value:"ORD20240101001",
props: {
disabled: true,
// 或使用 readonly: true,
}
}Events 事件示例
监听输入变化和焦点事件
js
const rule = {
type:"input",
title:"搜索关键词",
field:"keyword",
props: {
placeholder: "请输入搜索关键词",
clearable: true,
},
on: {
change: (value) => {
console.log('输入值改变:', value);
},
blur: () => {
console.log('失去焦点');
},
focus: () => {
console.log('获得焦点');
},
clear: () => {
console.log('清空输入');
},
},
}实时搜索(change 事件)
js
const rule = {
type:"input",
title:"搜索商品",
field:"keyword",
props: {
placeholder: "请输入商品名称搜索",
clearable: true,
prefixIcon: "search",
},
inject: true,
on: {
change: ($inject, value) => {
// 实时搜索:输入时自动触发搜索
if (value && value.length >= 2) {
// 调用搜索接口
searchProducts(value).then(res => {
// 更新搜索结果
$inject.api.setValue('searchResults', res.data);
});
}
},
},
}联动更新其他字段(change 事件)
js
const rule = [
{
type:"input",
title:"商品名称",
field:"goods_name",
props: {
placeholder: "请输入商品名称",
},
inject: true,
on: {
change: ($inject, value) => {
// 当商品名称改变时,自动生成商品编码
if (value) {
const code = 'GD' + value.substring(0, 3).toUpperCase() + Date.now().toString().slice(-6);
$inject.api.setValue('goods_code', code);
}
},
},
},
{
type:"input",
title:"商品编码",
field:"goods_code",
props: {
disabled: true,
},
},
]完整配置项:TDesign_Input
value :String


