Skip to content

Releases: qiqiboy/react-formutil

v0.6.1

10 Jul 08:46
Compare
Choose a tag to compare

v0.6.1 (Jul 10, 2019)

  • withField withForm connect三个高阶组件,支持forwardRef

v0.6.0

09 Jul 07:57
Compare
Choose a tag to compare

v0.6.0 (Jul 9, 2019)

  • 不再兼容react@15react@<16.3,仅支持 react@16.3 以上版本

v0.5.11

20 May 06:16
2bb8423
Compare
Choose a tag to compare

v0.5.11 (May 20, 2019)

  • 调整TS类型定义兼容typescript@3.4
  • Form增加$ref属性,支持在组件外部获取对$formutil的引用
  • Field增加$ref属性,支持在组件外部获取对$fieldutil的引用

v0.5.10

09 May 06:38
976c7e7
Compare
Choose a tag to compare

v0.5.10 (May 9, 2019)

  • 🙏修复production环境包下部分函数定义被破坏的问题

v0.5.8

11 Apr 10:00
5ca93ce
Compare
Choose a tag to compare

v0.5.8 (April 11, 2019)

  • 🙏修复EasyField的一处TS类型定义错误
  • 优化改进rollup构建配置
  • production环境下不对代码进行compression, 只进行mangle处理

v0.5.7

10 Apr 12:07
Compare
Choose a tag to compare

v0.5.7 (April 10, 2019)

  • 🙏修复Hooksreact@<16.8版本下的兼容问题

v0.5.6

10 Apr 04:05
Compare
Choose a tag to compare

v0.5.6 (April 10, 2019)

发布包变更

v0.5.6起,对npm包的发布方式做了调整: 通过npmyarn安装的依赖包,会在其package.json中添加main module两个字段,分别指向commonjs(cjs) 与 ES6 module(esm)两种模块规范发布的代码。

另外还提供了umd包,你可以直接通过<script src="https://unpkg.com/react-formutil/dist/react-formutil.umd.production.js"></script>在页面中应用;查看UMD-PKG developmentUMD-PKG production

如果你的构建工具,例如webpack支持ES6 module,会使用esm包,否则将会使用cjs包,确保对旧版本构建工具的兼容性。

FieldList: <EasyField type="list" />优化

v0.5.5新增的FieldList特性做了优化改进。

v0.5.6-beta.1

03 Apr 14:36
c36955b
Compare
Choose a tag to compare
v0.5.6-beta.1 Pre-release
Pre-release
  • 🙏修复FieldList的类型声明定义以及部分方法的回调方法处理。

v0.5.5

03 Apr 13:35
958aa85
Compare
Choose a tag to compare

v0.5.5 (April 03, 2019)

  • 👉新增EasyField现在支持通过传递type="list"来快速创建动态增删的Field数组列表表单了!

Gif

Apr-03-2019 21-43-12

简单示例代码

<EasyField name="relationships" type="list">
    {($listutil: $Listutil) => {
        return (
            <>
                <div className="relationship-item">
                    <EasyField name="relation" type="select">
                        <option value="">select</option>
                        <option value="0">Father</option>
                        <option value="1">Mother</option>
                    </EasyField>

                    <EasyField name="name" placeholder="The name" />

                    <button onClick={() => $listutil.$remove($listutil.$index)}>Delete</button>
                </div>
                {$listutil.$isLast() && (
                    <div className="relationship-toolbar">
                        <button onClick={() => $listutil.$push()}>Add new</button>
                    </div>
                )}
            </>
        );
    }}
</EasyField>

v0.5.4

29 Mar 07:05
Compare
Choose a tag to compare

v0.5.4 (March 29, 2019)

  • 🤘调整<Form/>$defaultValues $defaultStates现在可以传递一个初始化函数,返回相应的初始化值即可。该函数会在组件初次挂载或者每次调用$reset()时被调用。
  • 🤘调整<Field/>$defaultValue $defaultState现在可以传递一个初始化函数,返回相应的初始化值即可。该函数会在组件初次挂载或者每次调用$reset()时被调用。

该调整主要用于调用高阶组件withForm withField时,可以传递默认属性配置,通过传递自定义函数可以有更大自由度调整组件的初始值:

withForm(MyForm, {
    $defaultValues(props) {
        return {
            username: props.value.split(' ')
        }
    }
});
withField(MyField, {
    $defaultValue(props) {
        return props.value.split(' ');
    }
});