表单样式

通过设置 FormStyle,你可以定义表单内容的视觉排列方式和呈现方式,从而提供更清晰、更直观的用户体验。


概述

一个 Form 视图可以包含多种控件(如文本框、切换开关、选择器等),以行的形式排列。FormStyle 决定了这些行的显示方式——是标签和值分列对齐,还是控件以视觉上分组的形式显示。


可用样式

  • automatic
    让系统根据上下文选择最适合的样式。这通常是一个不错的默认选择,适合没有特定布局需求的场景。

  • columns
    显示一个不可滚动的表单,标签在左侧的列中右对齐,对应的值或控件在右侧的列中左对齐。这种样式非常适合需要清晰查看标签-值对的场景。

  • grouped
    将表单组织成视觉上分组的部分。每行通常是左对齐的标签和右对齐的控件。这种样式有助于将相关的输入字段划分为不同的类别,适合较长或复杂的表单,方便用户导航。


使用示例

列样式 (Columns Style)

1<Form formStyle="columns">
2  <TextField
3    title="名字"
4    value={firstName} 
5    onChanged={setFirstName}
6  />
7  <TextField 
8    title="姓氏" 
9    value={lastName} 
10    onChanged={setLastName} 
11  />
12  <Toggle 
13    title="订阅" 
14    value={subscribe} 
15    onChanged={setSubscribe} 
16  />
17</Form>

在此布局中,标签(如“名字”、“姓氏”、“订阅”)整齐地排列在一列中,输入字段或切换开关与其对应对齐。


分组样式 (Grouped Style)

1<Form formStyle="grouped">
2  <Section 
3    header={
4      <Text>个人信息</Text>
5    }>
6    <TextField 
7      title="电子邮件" 
8      value={email} 
9      onChanged={setEmail} 
10    />
11    <TextField 
12      title="电话" 
13      value={phone} 
14      onChanged={setPhone} 
15    />
16  </Section>
17  <Section 
18    header={
19      <Text>设置</Text>
20    }>
21    <Toggle 
22      title="启用通知" 
23      value={notificationsEnabled} 
24      onChanged={setNotificationsEnabled} 
25    />
26    <Toggle 
27      title="自动更新" 
28      value={autoUpdate} 
29      onChanged={setAutoUpdate} 
30    />
31  </Section>
32</Form>

在此示例中,输入字段被分组为“个人信息”和“设置”两部分。每个部分的行都呈现为清晰的标签和控件对,帮助用户理解输入字段的逻辑分组。


自动样式 (Automatic Style)

1<Form formStyle="automatic">
2  <TextField 
3    title="用户名" 
4    value={username} 
5    onChanged={setUsername} 
6  />
7  <SecureField 
8    title="密码" 
9    value={password} 
10    onChanged={setPassword} 
11  />
12</Form>

使用 automatic 样式时,系统会选择默认样式。此选项适合简单表单或希望让系统根据不同上下文或平台自动调整样式的场景。


总结

  • 选择 columns 用于结构化的两列布局,便于快速扫描标签和值。
  • 选择 grouped 用于将控件分组成视觉上独立的部分,适合更复杂的表单。
  • 选择 automatic 让系统自动处理布局决策,适合简单或需要适应多平台的界面。

通过在 Form 上设置 formStyle,你可以根据表单的复杂性和用户需求微调其显示方式,提供最佳的用户体验。