【工作总结】2023.11第四周

340 阅读3分钟

1.antd pro组件formItemPropsfieldProps属性

antdPro的table和form组件封装了许多方法,可以进一步减少代码量,要积极使用。antdPro的一些属性名字起得比较接近,非常容易混淆。例如:formItemProps和fieldProps的区别

formItemPropsfieldProps都是Ant Design中表单组件的属性配置对象,但是它们的作用范围有所不同。

formItemProps是用于配置表单项的容器组件FormItem的属性。FormItem是一个高阶组件,用于包裹表单项的标签和输入控件,负责处理表单项的布局、校验等逻辑。因此,formItemProps中的属性大多数都是用于控制表单项的布局和样式,例如labelwrapperColrequired等。这些属性可以用于控制表单项的外观和行为,但不直接影响表单项的输入值。

以下是一些常见的formItemProps属性配置示例:

  1. label:表单项的标签文本。
  2. name:表单项的名称,用于在提交表单时标识该项。
  3. required:指定该表单项是否为必填项。
  4. disabled:指定该表单项是否禁用,禁用状态下用户无法进行编辑。
  5. helpText:表单项的辅助文本,用于提供额外的说明或提示信息。
  6. rules:表单项的校验规则,用于验证用户输入的合法性。
  7. wrapperCol:指定表单项的布局样式,用于控制标签和输入框的排列方式。

fieldProps是用于配置表单项的输入控件的属性。在Ant Design中,每个表单项都有一个对应的输入控件组件,例如InputSelectDatePicker等。这些组件通常会被包裹在FormItem中,用于接收用户的输入。fieldProps中的属性大多数都是用于控制输入控件的各种行为和事件,例如onChangeonBlurvaluedefaultValue等。这些属性直接关联到表单项的输入值,并且会在用户输入时自动更新。

以下是一些常见的fieldProps属性配置示例:

  1. value:指定输入控件的当前值。可以通过设置value来控制输入控件的初始值或者根据其他逻辑动态更新值。
  2. onChange:指定输入控件值改变时的回调函数。可以在onChange中处理输入值的变化,并进行相应的逻辑操作。
  3. placeholder:指定输入控件的占位文本。可以在输入控件中显示一个提示性的文本,告诉用户该输入什么内容。
  4. disabled:指定输入控件是否禁用。设置为true时,输入控件变为不可编辑状态。
  5. allowClear:指定输入控件是否允许清除。设置为true时,在输入控件右侧会显示一个清除按钮,点击按钮可以清除输入内容。
  6. onBlur:指定输入控件失去焦点时的回调函数。可以在onBlur中处理输入控件失去焦点后的逻辑操作。

因此,可以将formItemPropsfieldProps看作是表单项的两个方面:前者控制表单项的外观和行为,后者控制表单项的输入值和事件。在实际应用中,需要根据具体情况合理配置这两个属性对象,以达到所需的表单效果。

              <ProFormDigit
                name="stationCount"
                placeholder="接入"
                formItemProps={{
                  style: {
                              marginRight: "20px",
                              marginBottom: 0,
                              width: "200px",
                              height: "30px",
                        };,
                }}
                rules={[{ required: true, message: "请输入" }]}
                fieldProps={{ addonAfter: "座" }}
              />

二者关系如下图所示