Skip to content
On this page

Input 输入框

代码演示

基本用法

dart
const Input(
  onChange: print,
  hint: "支持多行",
  autoFocus: true,
),

键盘类型: 文字

dart
const Input(
  hint: "Plain Text",
  keyboardType: TextInputType.text,
),

键盘类型: 电话号码

dart
const Input(
  hint: "Phone",
  keyboardType: TextInputType.phone,
),

键盘类型: 数字

dart
const Input(
  hint: "Integer",
  keyboardType: TextInputType.number,
),

键盘类型: 小数

dart
const Input(
  hint: "Decimal",
  keyboardType: TextInputType.numberWithOptions(decimal: true),
),

键盘类型: 密码

dart
const Input(
  hint: "Password",
  obscureText: true,
  keyboardType: TextInputType.visiblePassword,
),

禁用状态

dart
const Input(
  hint: "无法输入内容和获取焦点",
  disabled: true,
),

最大输入长度

dart
const Input(
  hint: "Max Length 6",
  maxLength: 6,
),

自定义风格

默认渲染朴素、接近 Web input 的风格。而通过 as 可自定义 Input 绘制,比如装饰到一个华丽的盒子里

dart
Input(
  hint: "Placeholder",
  bgColor: Colors.white,
  as: (child) => TailBox()
      .p(10)
      .rounded(8)
      .border(Colors.blue.shade800)
      .bg(Colors.white)
      .Container(child: child),
),

API

Props类型描述
valueString当前值
autoFocusbool自动聚焦
focusNodeFocusNode聚焦对象
obscureTextbool隐藏文本
hintString输入提示
minLinesint最小行
maxLinesint最大行
disabledbool禁用状态
maxLengthint最大长度
controllerTextEditingController控制器
inputFormattersList<TextInputFormatter>文本格式化
onChangeFunction(String value)值变化回调
onFocusFunction()聚焦时回调
onBlurFunction()失去焦点回调
keyboardTypeTextInputType系统键盘风格
textInputActionTextInputAction系统键盘「确认」键风格
toolbarOptionsToolbarOptions框选选项,可配置复制、粘贴、全选、剪切功能
selectionControlsTextSelectionControls框选控制
textStyleTextStyle文本样式
showSelectionHandlesbool展示框选光标
cursorColorColor光标颜色
bgCursorColorColor背景光标颜色
selectionColorColor框选浮层颜色
bgColorColor背景颜色
asWidget Function(Widget input)绘制代理,可用于自定义绘制