You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中对应Delphi SpinEdit、QT SpinBox的组件名称是什么?

Flutter 中的数值微调组件(对应 Delphi SpinEdit/QT SpinBox)

Flutter 可以通过两种方式实现你需要的「点击上下箭头增减数值」的功能:

1. 用官方组件手动组合

直接用 TextField 搭配 IconButton 就能快速构建,逻辑简单且支持完全自定义,示例代码如下:

class SpinBox extends StatefulWidget {
  final int initialValue;
  final int min;
  final int max;

  const SpinBox({
    super.key,
    required this.initialValue,
    this.min = 0,
    this.max = 100,
  });

  @override
  State<SpinBox> createState() => _SpinBoxState();
}

class _SpinBoxState extends State<SpinBox> {
  late int _currentNum;

  @override
  void initState() {
    super.initState();
    _currentNum = widget.initialValue;
  }

  void _addNum() {
    if (_currentNum < widget.max) setState(() => _currentNum++);
  }

  void _minusNum() {
    if (_currentNum > widget.min) setState(() => _currentNum--);
  }

  @override
  Widget build(BuildContext context) {
    return Row(
      mainAxisSize: MainAxisSize.min,
      children: [
        IconButton(icon: const Icon(Icons.remove), onPressed: _minusNum),
        SizedBox(
          width: 60,
          child: TextField(
            controller: TextEditingController(text: '$_currentNum'),
            textAlign: TextAlign.center,
            keyboardType: TextInputType.number,
            onChanged: (val) {
              final num? newNum = int.tryParse(val);
              if (newNum != null && newNum >= widget.min && newNum <= widget.max) {
                setState(() => _currentNum = newNum);
              }
            },
          ),
        ),
        IconButton(icon: const Icon(Icons.add), onPressed: _addNum),
      ],
    );
  }
}

2. 用第三方包快速实现

可以使用 numberpicker 第三方包,它提供了开箱即用的数值微调组件,外观和交互逻辑和你提到的 SpinEdit/SpinBox 完全匹配,支持点击箭头增减、直接输入数值,还能自定义数值范围和步长。

首先在 pubspec.yaml 中添加依赖:

dependencies:
  numberpicker: ^2.1.2

然后直接调用组件:

NumberPicker(
  value: _currentNum,
  minValue: 0,
  maxValue: 100,
  onChanged: (val) => setState(() => _currentNum = val),
)

内容的提问来源于stack exchange,提问作者Don Su

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:22:46