Skip to content

Commit

Permalink
docs: update links of Chinese guide docs (#2423)
Browse files Browse the repository at this point in the history
  • Loading branch information
haloworld007 authored Nov 10, 2021
1 parent 91e070b commit 630349b
Show file tree
Hide file tree
Showing 13 changed files with 53 additions and 53 deletions.
10 changes: 5 additions & 5 deletions docs/guide/advanced/async.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# 实现异步数据源

异步数据源管理,核心体现在[Field](https://core.formilyjs.org/api/models/field)模型中的 dataSource 属性,我们可以在 effects 中修改 Field 的 dataSource,也可以在 reactions 中修改 dataSource 属性。
异步数据源管理,核心体现在[Field](https://core.formilyjs.org/zh-CN/api/models/field)模型中的 dataSource 属性,我们可以在 effects 中修改 Field 的 dataSource,也可以在 reactions 中修改 dataSource 属性。

如果字段组件内部(比如 Select)有消费 dataSource 属性,当 dataSource 发生变化时,对应组件会自动重渲染。

<Alert>
注意:如果是业务自定义组件,请手动映射dataSource到自定义组件中,可以使用 <a href="https://react.formilyjs.org/api/shared/connect">connect</a>,也可以使用 <a href="https://react.formilyjs.org/api/shared/observer">observer</a> + <a href="https://react.formilyjs.org/api/hooks/use-field">useField</a>
注意:如果是业务自定义组件,请手动映射dataSource到自定义组件中,可以使用 <a href="https://react.formilyjs.org/zh-CN/api/shared/connect">connect</a>,也可以使用 <a href="https://react.formilyjs.org/zh-CN/api/shared/observer">observer</a> + <a href="https://react.formilyjs.org/zh-CN/api/hooks/use-field">useField</a>
</Alert>

具体案例可以参考:

- [Select](https://antd.formilyjs.org/components/select)
- [TreeSelect](https://antd.formilyjs.org/components/tree-select)
- [Cascader](https://antd.formilyjs.org/components/cascader)
- [Select](https://antd.formilyjs.org/zh-CN/components/select)
- [TreeSelect](https://antd.formilyjs.org/zh-CN/components/tree-select)
- [Cascader](https://antd.formilyjs.org/zh-CN/components/cascader)
2 changes: 1 addition & 1 deletion docs/guide/advanced/business-logic.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ onFieldReact('*(A,B,C)', (field) => {
- 不存在异步逻辑,优先选择结构化 reactions 定义逻辑
- 存在异步逻辑,或者大量计算,优先选择函数态 reactions 定义逻辑

对于 effects 中如何玩出花来,我们主要看[@formily/core](https://core.formilyjs.org)文档即可
对于 effects 中如何玩出花来,我们主要看[@formily/core](https://core.formilyjs.org/zh-CN)文档即可
6 changes: 3 additions & 3 deletions docs/guide/advanced/controlled.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Formily2.x 已经放弃了给表单组件和字段组件支持受控模式,因

所以 Formily 就不再支持受控模式了,但是如果我们硬要实现普通 React 受控,还是可以支持的,只不过只能实现值受控,不能实现字段级受控,也就是我们使用的 Field 组件,属性只会在初次渲染时生效,未来属性发生任何变化都不会自动更新,想要自动更新,除非重新创建 Form 实例(显然这样会丢失所有之前维护好的状态)。

所以,我们更加推荐的是使用[@formily/reactive](https://reactive.formilyjs.org) 实现响应式受控,既能实现值受控,也能实现字段级受控
所以,我们更加推荐的是使用[@formily/reactive](https://reactive.formilyjs.org/zh-CN) 实现响应式受控,既能实现值受控,也能实现字段级受控

## 值受控

Expand Down Expand Up @@ -85,7 +85,7 @@ export default () => {

## 响应式值受控

响应式受控主要是使用[@formily/reactive](https://reactive.formilyjs.org)实现响应式更新,我们可以轻松实现双向绑定,同时性能完爆普通受控更新
响应式受控主要是使用[@formily/reactive](https://reactive.formilyjs.org/zh-CN)实现响应式更新,我们可以轻松实现双向绑定,同时性能完爆普通受控更新

```tsx
import React, { useMemo, useRef } from 'react'
Expand Down Expand Up @@ -465,7 +465,7 @@ export default observer(() => {

### 最佳实践

推荐使用[@formily/reactive](https://reactive.formilyjs.org) 实现响应式受控
推荐使用[@formily/reactive](https://reactive.formilyjs.org/zh-CN) 实现响应式受控

```tsx
import React from 'react'
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/advanced/custom.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 实现自定义组件

实现业务自定义组件主要是使用[@formily/react](https://react.formilyjs.org)[@formily/vue](https://vue.formilyjs.org)中的 Hooks API 与 observer API
实现业务自定义组件主要是使用[@formily/react](https://react.formilyjs.org/zh-CN)[@formily/vue](https://vue.formilyjs.org)中的 Hooks API 与 observer API

接入现成组件库的话,我们主要使用 connect/mapProps/mapReadPretty API

Expand Down
10 changes: 5 additions & 5 deletions docs/guide/advanced/layout.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 实现表单布局

表单布局主要是使用[@formily/antd](https://antd.formilyjs.org)[@formily/next](https://fusion.formilyjs.org) 中的:
表单布局主要是使用[@formily/antd](https://antd.formilyjs.org/zh-CN)[@formily/next](https://fusion.formilyjs.org/zh-CN) 中的:

- [FormLayout](https://antd.formilyjs.org/components/form-layout) 组件
- [FormItem](https://antd.formilyjs.org/components/form-item) 组件
- [FormGrid](https://antd.formilyjs.org/components/form-grid) 组件
- [Space](https://antd.formilyjs.org/components/space) 组件
- [FormLayout](https://antd.formilyjs.org/zh-CN/components/form-layout) 组件
- [FormItem](https://antd.formilyjs.org/zh-CN/components/form-item) 组件
- [FormGrid](https://antd.formilyjs.org/zh-CN/components/form-grid) 组件
- [Space](https://antd.formilyjs.org/zh-CN/components/space) 组件

这 4 个组件基本上能解决所有复杂表单布局场景,我们只需要灵活的组合使用这几个组件即可。
16 changes: 8 additions & 8 deletions docs/guide/advanced/linkages.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ Formily1.x 中实现联动逻辑只有一种模式,也就是主动模式,必

主动联动核心是基于

- [FormEffectHooks](https://core.formilyjs.org/api/entry/form-effect-hooks)
- [FieldEffectHooks](https://core.formilyjs.org/api/entry/field-effect-hooks)
- [setFormState](https://core.formilyjs.org/api/models/form#setformstate)
- [setFieldState](https://core.formilyjs.org/api/models/form#setfieldstate)
- [SchemaReactions](https://react.formilyjs.org/api/shared/schema#schemareactions)
- [FormEffectHooks](https://core.formilyjs.org/zh-CN/api/entry/form-effect-hooks)
- [FieldEffectHooks](https://core.formilyjs.org/zh-CN/api/entry/field-effect-hooks)
- [setFormState](https://core.formilyjs.org/zh-CN/api/models/form#setformstate)
- [setFieldState](https://core.formilyjs.org/zh-CN/api/models/form#setfieldstate)
- [SchemaReactions](https://react.formilyjs.org/zh-CN/api/shared/schema#schemareactions)

实现主动联动,优点是实现一对多联动时非常方便

Expand Down Expand Up @@ -989,9 +989,9 @@ export default () => (

被动模式的核心是基于

- [onFieldReact](https://core.formilyjs.org/api/entry/field-effect-hooks#onfieldreact)实现全局响应式逻辑
- [FieldReaction](https://core.formilyjs.org/api/models/field#fieldreaction)实现局部响应式逻辑
- [SchemaReactions](https://react.formilyjs.org/api/shared/schema#schemareactions)实现 Schema 协议中的结构化逻辑描述(内部是基于 FieldReaction 来实现的)
- [onFieldReact](https://core.formilyjs.org/zh-CN/api/entry/field-effect-hooks#onfieldreact)实现全局响应式逻辑
- [FieldReaction](https://core.formilyjs.org/zh-CN/api/models/field#fieldreaction)实现局部响应式逻辑
- [SchemaReactions](https://react.formilyjs.org/zh-CN/api/shared/schema#schemareactions)实现 Schema 协议中的结构化逻辑描述(内部是基于 FieldReaction 来实现的)

### 一对一联动

Expand Down
4 changes: 2 additions & 2 deletions docs/guide/advanced/validate.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Formily 的表单校验使用了极其强大且灵活的@formily/validator 校

同时我们还能在 effects 或者 x-reactions/reactions 中实现联动校验

具体规则校验文档参考 [FieldValidator](https://core.formilyjs.org/api/models/field#fieldvalidator)
具体规则校验文档参考 [FieldValidator](https://core.formilyjs.org/zh-CN/api/models/field#fieldvalidator)

## 内置规则校验

Expand Down Expand Up @@ -2071,7 +2071,7 @@ export default () => (

## 定制校验文案

主要通过[registerValidateLocale](https://core.formilyjs.org/api/entry/form-validator-registry#registervalidatelocale)来定制内置校验文案
主要通过[registerValidateLocale](https://core.formilyjs.org/zh-CN/api/entry/form-validator-registry#registervalidatelocale)来定制内置校验文案

```tsx
import React from 'react'
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/index.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

刚好,github 社区为这样的 MVVM 模型抽象出了一个叫 [Mobx](https://github.com/mobxjs/mobx) 的状态管理解决方案,Mobx 最核心的能力就是它的依赖追踪机制和响应式模型的抽象能力。

所以,借助 Mobx,完全可以解决表单字段输入过程中的 O(n)问题,而且是可以很优雅的解决,但是 Formily2.x 在实现的过程中发现 Mobx 还是存在一些不兼容 Formily 核心思想的问题,最终,只能重新造了一个轮子,延续 Mobx 的核心思想的 [@formily/reactive](https://reactive.formilyjs.org)
所以,借助 Mobx,完全可以解决表单字段输入过程中的 O(n)问题,而且是可以很优雅的解决,但是 Formily2.x 在实现的过程中发现 Mobx 还是存在一些不兼容 Formily 核心思想的问题,最终,只能重新造了一个轮子,延续 Mobx 的核心思想的 [@formily/reactive](https://reactive.formilyjs.org/zh-CN)

这里提一下 [react-hook-form](https://github.com/react-hook-form/react-hook-form) ,非常流行,号称业界性能第一的表单方案,我们看看它最简单的案例:

Expand Down Expand Up @@ -259,7 +259,7 @@ interface Field {
- 条件满足的动作
- 条件不满足的动作

来实现的,因为内部状态管理借助了 类似 Mobx 的[@formily/reactive](https://reactive.formilyjs.org)方案,所以,Formily 很轻松的就实现了被动和主动联动场景,覆盖了绝大多数业务需求。
来实现的,因为内部状态管理借助了 类似 Mobx 的[@formily/reactive](https://reactive.formilyjs.org/zh-CN)方案,所以,Formily 很轻松的就实现了被动和主动联动场景,覆盖了绝大多数业务需求。

所以,我们的表单完全可以使用协议来描述了,不管是再复杂的布局,还是很复杂的联动,都能做到可配置。

Expand Down
16 changes: 8 additions & 8 deletions docs/guide/quick-start.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### 安装内核库

使用 Formily 必须要用到[@formily/core](https://core.formilyjs.org),它负责管理表单的状态,表单校验,联动等等。
使用 Formily 必须要用到[@formily/core](https://core.formilyjs.org/zh-CN),它负责管理表单的状态,表单校验,联动等等。

```bash
$ npm install --save @formily/core
Expand Down Expand Up @@ -108,10 +108,10 @@ export default () => {

从以上例子中,我们可以学到很多东西:

- [createForm](https://core.formilyjs.org/api/entry/create-form)用来创建表单核心领域模型,它是作为[MVVM](https://core.formilyjs.org/guide/mvvm)设计模式的标准 ViewModel
- [FormProvider](https://react.formilyjs.org/api/components/form-provider)组件是作为视图层桥接表单模型的入口,它只有一个参数,就是接收 createForm 创建出来的 Form 实例,并将 Form 实例以上下文形式传递到子组件中
- [FormLayout](https://antd.formilyjs.org/components/form-layout)组件是用来批量控制[FormItem](https://antd.formilyjs.org/components/form-item)样式的组件,这里我们指定布局为上下布局,也就是标签在上,组件在下
- [Field](https://react.formilyjs.org/api/components/field)组件是用来承接普通字段的组件
- [createForm](https://core.formilyjs.org/zh-CN/api/entry/create-form)用来创建表单核心领域模型,它是作为[MVVM](https://core.formilyjs.org/guide/mvvm)设计模式的标准 ViewModel
- [FormProvider](https://react.formilyjs.org/zh-CN/api/components/form-provider)组件是作为视图层桥接表单模型的入口,它只有一个参数,就是接收 createForm 创建出来的 Form 实例,并将 Form 实例以上下文形式传递到子组件中
- [FormLayout](https://antd.formilyjs.org/zh-CN/components/form-layout)组件是用来批量控制[FormItem](https://antd.formilyjs.org/zh-CN/components/form-item)样式的组件,这里我们指定布局为上下布局,也就是标签在上,组件在下
- [Field](https://react.formilyjs.org/zh-CN/api/components/field)组件是用来承接普通字段的组件
- name 属性,标识字段在表单最终提交数据中的路径
- title 属性,标识字段的标题
- 如果 decorator 指定为 FormItem,那么在 FormItem 组件中会默认以接收 title 属性作为标签
Expand All @@ -126,6 +126,6 @@ export default () => {
- 注意 decorator 属性传递的是数组形式,第一个参数代表指定组件类型,第二个参数代表指定组件属性
- component 属性,代表字段的输入控件,可以是 Input,也可以是 Select,等等
- 注意 component 属性传递的是数组形式,第一个参数代表指定组件类型,第二个参数代表指定组件属性
- [FormConsumer](https://react.formilyjs.org/api/components/form-consumer)组件是作为响应式模型的响应器而存在,它核心是一个 render props 模式,在作为 children 的回调函数中,会自动收集所有依赖,如果依赖发生变化,则会重新渲染,借助 FormConsumer 我们可以很方便的实现各种计算汇总的需求
- [FormButtonGroup](https://antd.formilyjs.org/components/form-button-group)组件作为表单按钮组容器而存在,主要负责按钮的布局
- [Submit](https://antd.formilyjs.org/components/submit)组件作为表单提交的动作触发器而存在,其实我们也可以直接使用 form.submit 方法进行提交,但是使用 Submit 的好处是不需要每次都在 Button 组件上写 onClick 事件处理器,同时它还处理了 Form 的 loading 状态,如果 onSubmit 方法返回一个 Promise,且 Promise 正在 pending 状态,那么按钮会自动进入 loading 状态
- [FormConsumer](https://react.formilyjs.org/zh-CN/api/components/form-consumer)组件是作为响应式模型的响应器而存在,它核心是一个 render props 模式,在作为 children 的回调函数中,会自动收集所有依赖,如果依赖发生变化,则会重新渲染,借助 FormConsumer 我们可以很方便的实现各种计算汇总的需求
- [FormButtonGroup](https://antd.formilyjs.org/zh-CN/components/form-button-group)组件作为表单按钮组容器而存在,主要负责按钮的布局
- [Submit](https://antd.formilyjs.org/zh-CN/components/submit)组件作为表单提交的动作触发器而存在,其实我们也可以直接使用 form.submit 方法进行提交,但是使用 Submit 的好处是不需要每次都在 Button 组件上写 onClick 事件处理器,同时它还处理了 Form 的 loading 状态,如果 onSubmit 方法返回一个 Promise,且 Promise 正在 pending 状态,那么按钮会自动进入 loading 状态
2 changes: 1 addition & 1 deletion docs/guide/scenes/dialog-drawer.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# 弹窗与抽屉

主要使用[@formily/antd](https://antd.formilyjs.org)[@formily/next](https://fusion.formilyjs.org) 中的[FormDialog](https://antd.formilyjs.org/components/form-dialog)函数 和 [FormDrawer](https://antd.formilyjs.org/components/form-drawer)函数
主要使用[@formily/antd](https://antd.formilyjs.org/zh-CN)[@formily/next](https://fusion.formilyjs.org/zh-CN) 中的[FormDialog](https://antd.formilyjs.org/zh-CN/components/form-dialog)函数 和 [FormDrawer](https://antd.formilyjs.org/zh-CN/components/form-drawer)函数
2 changes: 1 addition & 1 deletion docs/guide/scenes/step-form.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# 分步表单

主要使用[@formily/antd](https://antd.formilyjs.org)[@formily/next](https://fusion.formilyjs.org) 中的[FormStep](https://antd.formilyjs.org/components/form-step)组件
主要使用[@formily/antd](https://antd.formilyjs.org/zh-CN)[@formily/next](https://fusion.formilyjs.org/zh-CN) 中的[FormStep](https://antd.formilyjs.org/zh-CN/components/form-step)组件
2 changes: 1 addition & 1 deletion docs/guide/scenes/tab-form.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# 选项卡/手风琴表单

主要使用[@formily/antd](https://antd.formilyjs.org)[@formily/next](https://fusion.formilyjs.org) 中的[FormTab](https://antd.formilyjs.org/components/form-tab)组件 与 [FormCollapse](https://antd.formilyjs.org/components/form-collapse)组件
主要使用[@formily/antd](https://antd.formilyjs.org/zh-CN)[@formily/next](https://fusion.formilyjs.org/zh-CN) 中的[FormTab](https://antd.formilyjs.org/zh-CN/components/form-tab)组件 与 [FormCollapse](https://antd.formilyjs.org/zh-CN/components/form-collapse)组件
Loading

0 comments on commit 630349b

Please sign in to comment.