InputNumber 数字输入框
规则
基础示例
js
const rule = {
type: "InputNumber",
field: "price",
title: "价格",
value: 1,
props: {
precision: 2
},
}Props 配置示例
设置最小值和最大值
js
const rule = {
type: "InputNumber",
field: "quantity",
title: "购买数量",
value: 1,
props: {
min: 1,
max: 100,
step: 1,
}
}设置精度和步长
js
const rule = {
type: "InputNumber",
field: "price",
title: "商品价格",
value: 0,
props: {
min: 0,
step: 0.01,
precision: 2,
placeholder: "请输入价格",
}
}禁用状态
js
const rule = {
type: "InputNumber",
field: "total",
title: "总价",
value: 0,
props: {
disabled: true,
}
}Events 事件示例
监听数值变化
js
const rule = {
type: "InputNumber",
field: "quantity",
title: "购买数量",
value: 1,
props: {
min: 1,
max: 100,
},
on: {
change: (value) => {
console.log('数值改变:', value);
},
blur: () => {
console.log('失去焦点');
},
focus: () => {
console.log('获得焦点');
},
},
}联动计算总价
js
const rule = [
{
type: "InputNumber",
field: "quantity",
title: "购买数量",
value: 1,
props: {
min: 1,
max: 100,
},
inject: true,
on: {
change: ($inject, value) => {
// 根据数量和单价计算总价
const price = $inject.api.getValue('price') || 0;
$inject.api.setValue('total', (price * value).toFixed(2));
},
},
},
{
type: "InputNumber",
field: "price",
title: "单价",
value: 0,
props: {
min: 0,
step: 0.01,
precision: 2,
},
inject: true,
on: {
change: ($inject, value) => {
// 根据数量和单价计算总价
const quantity = $inject.api.getValue('quantity') || 0;
$inject.api.setValue('total', (value * quantity).toFixed(2));
},
},
},
{
type: "InputNumber",
field: "total",
title: "总价",
value: 0,
props: {
disabled: true,
},
},
]完整配置项:TDesign_InputNumber
value :Number


