ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.3k stars 1.36k forks source link

🐛[BUG] ProFormItem下为什么只能放一个组件? 加一层 div 都不行? #8481

Open uniquejava opened 4 months ago

uniquejava commented 4 months ago

比如图中的这种情况, 要想在 onFinish 的 values 中包含 slider 的值, 则Slider 必须是ProFormItem的唯一子组件.

子组件因为布局要求需要用其他组件包裹的场景如何处理?

我目前是用 useState 给所有的 slider 组件比如 temperature 和 penalty 设置单独 state, 感觉很不优雅.

image
     <ProFormItem name="penalty" label="Repetition penalty">
        {/*<Row>*/}
        {/*  <Col span={12}>*/}
        <Slider min={1} max={2} step={0.01} />
        {/*</Col>*/}
        {/*<Col span={4}>*/}
        {/*<InputNumber min={1} max={2} style={{ margin: '0 16px' }} value={penalty} onChange={setPenalty} step={0.01} />*/}
        {/*  </Col>*/}
        {/*</Row>*/}
      </ProFormItem>
      <ProFormDigit name="maxNewTokens" label="Max tokens" width="xs" initialValue={formData?.maxNewTokens} />
image
fnoopv commented 4 months ago

自己封装一下Slider

zlinggnilz commented 4 months ago

建议看看Antd Form demo中的,“复杂一点的控件” 和 “自定义表单控件” 地址: https://ant.design/components/form-cn#components-form-demo-complex-form-control https://ant.design/components/form-cn#components-form-demo-customized-form-controls