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

如何为tcomb-form-native的inputText设置默认值?

解决tcomb-form设置字段默认值的问题

嘿,我刚看到你的问题啦!作为React Native新手用tcomb-form确实容易踩这个小坑——你在fields配置里加value是没用的哦,tcomb-form的默认值得通过组件的value属性来传递~

下面给你修正后的完整示例:

  1. 定义结构体(这部分你已经做对了)
this.Position = t.struct({ 
  PosName: FormFields.String, 
});
  1. 初始化默认值(建议放在组件状态里)
    在组件的构造函数里初始化包含默认值的状态:
constructor(props) {
  super(props);
  this.state = {
    formValue: {
      PosName: "some text here " // 这里就是你要的默认文本
    }
  };
}
  1. 渲染Form组件时传递默认值
    关键是给<Form>组件添加value属性,绑定你刚才初始化的状态值:
render() {
  const Form = t.form.Form;
  return (
    <Form
      type={this.Position}
      value={this.state.formValue} // 这一步才是设置默认值的正确方式!
      options={{
        fields: {
          PosName: { 
            placeholder: "Name der Position", 
            error: "Dieses Feld ist erforderlich", 
            label: "Name der Position", 
            template: Template 
          }
          // 其他字段配置...
        }
      }}
    />
  );
}

小提示:tcomb-form的fields配置项里的value并不是用来设置默认值的,它是组件内部用来控制输入状态的属性。真正的默认值必须通过Form组件顶层的value属性传递,这样组件首次渲染时就会把这个值填充到对应的字段中啦。

内容的提问来源于stack exchange,提问作者Hamdi Gatri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:26:23