uiwjs/uiw

[Select<选择器>]: select在表单提交中,value值类型始终是string

Closed this issue · 1 comments

注意:根据下面内容复现错误问题,以方便测试。

描述错误

select在表单提交中,value值类型始终是string,即便我在value中写上number类型,最后提交的时候也是string

错误复现

重现行为的步骤:

  1. 设置option:[{label:'选项一', value:1}]
  2. 选择该选项,并在form表单中提交
  3. 表单中value数据为string

提供在线重现示例

image

预期行为

希望能支持根据所选数据类型进行表单提交

桌面(请填写以下信息):

  • UIW:[例如 v4.18.0]
  • 操作系统:[例如 macOS]
  • 浏览器:[Chrome]

@dibenny 这个组件只是对原生select简单封装,value接受任何值都被自动转换为string;我们也不知道使用者传入的具体类型,如果你的value是number类型:

  • 自主将返回结果转换为number
<Select defaultValue="0" onChange={(value)=> console.log('value', Number.parse(value))}>
        <Select.Option value={`${0}`}>Choose an item...</Select.Option>
        <Select.Option value={`${1}`}>One</Select.Option>
        <Select.Option value={`${2}`}>Two</Select.Option>
        <Select.Option value={`${3}`}>Three</Select.Option>
        <Select.Option value={`${4}`}>Four</Select.Option>
</Select>
  • 还可以使用searchSelect,不会改变使用者传入value的类型