From 3c5b92e7162d7c68f52e0eeb700993b49a79c49b Mon Sep 17 00:00:00 2001 From: miaoxinyu01 Date: Mon, 23 Oct 2023 19:44:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=AF=8C=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E5=92=8C=E5=88=86=E9=A1=B5=E7=BB=84=E4=BB=B6=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/zh-CN/components/form/input-rich-text.md | 9 +++++++++ docs/zh-CN/components/pagination.md | 7 +++++++ packages/amis-ui/src/components/Pagination.tsx | 5 +++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/zh-CN/components/form/input-rich-text.md b/docs/zh-CN/components/form/input-rich-text.md index b3f53ad30..232ae956b 100755 --- a/docs/zh-CN/components/form/input-rich-text.md +++ b/docs/zh-CN/components/form/input-rich-text.md @@ -230,3 +230,12 @@ froala 可以通过设置 buttons 参数来控制显示哪些按钮,默认是 | size | `string` | | 框的大小,可设置为 `md` 或者 `lg` | | options | `object` | | 需要参考 [tinymce](https://www.tiny.cloud/docs/configure/integration-and-setup/) 或 [froala](https://www.froala.com/wysiwyg-editor/docs/options) 的文档 | | buttons | `Array` | | froala 专用,配置显示的按钮,tinymce 可以通过前面的 options 设置 [toolbar](https://www.tiny.cloud/docs/demo/custom-toolbar-button/) 字符串 | + +## 事件表 + +当前组件会对外派发以下事件,可以通过`onEvent`来监听这些事件,并通过`actions`来配置执行的动作,在`actions`中可以通过`${事件参数名}`或`${event.data.[事件参数名]}`来获取事件产生的数据,详细请查看[事件动作](../../docs/concepts/event-action)。 + +> `[name]`表示当前组件绑定的名称,即`name`属性,如果没有配置`name`属性,则通过`value`取值。 +> | 事件名称 | 事件参数 | 说明 | +> | -------- | ------------------------------------- | ------------------------------------------- | +> | change | `[value]: object` 富文本组件的值
| 富文本值改变时触发 | diff --git a/docs/zh-CN/components/pagination.md b/docs/zh-CN/components/pagination.md index 675766a1b..9bf2925e7 100644 --- a/docs/zh-CN/components/pagination.md +++ b/docs/zh-CN/components/pagination.md @@ -67,3 +67,10 @@ order: 73 | showPageInput | `boolean` | false | 是否显示快速跳转输入框 layout 和 showPageInput 都可以控制 | | disabled | `boolean` | false | 是否禁用 | | onPageChange | page、perPage 改变时会触发 | (page: number, perPage: number) => void; | 分页改变触发 | + +当前组件会对外派发以下事件,可以通过`onEvent`来监听这些事件,并通过`actions`来配置执行的动作,在`actions`中可以通过`${事件参数名}`或`${event.data.[事件参数名]}`来获取事件产生的数据,详细请查看[事件动作](../../docs/concepts/event-action)。 + +> `[name]`表示当前组件绑定的名称,即`name`属性,如果没有配置`name`属性,则通过`value`取值。 +> | 事件名称 | 事件参数 | 说明 | +> | -------- | ------------------------------------- | ------------------------------------------- | +> | change | `[value]: object` 当前页码的值
| 当前页码改变时触发 | \ No newline at end of file diff --git a/packages/amis-ui/src/components/Pagination.tsx b/packages/amis-ui/src/components/Pagination.tsx index fcbb38666..1c0879fd1 100644 --- a/packages/amis-ui/src/components/Pagination.tsx +++ b/packages/amis-ui/src/components/Pagination.tsx @@ -94,6 +94,7 @@ export interface BasicPaginationProps { popOverContainerSelector?: string; onPageChange?: (page: number, perPage?: number, dir?: string) => void; + dispatchEvent?: Function; } export interface PaginationProps extends BasicPaginationProps, @@ -141,7 +142,7 @@ export class Pagination extends React.Component< async handlePageNumChange(page: number, perPage?: number, dir?: string) { const {disabled, onPageChange, dispatchEvent} = this.props; - await dispatchEvent('change', resolveEventData(this.props, {page})); + await dispatchEvent?.('change', resolveEventData(this.props, {page})); if (disabled) { return; @@ -253,7 +254,7 @@ export class Pagination extends React.Component< let value = e.currentTarget.value; const {dispatchEvent} = this.props; - await dispatchEvent('change', resolveEventData(this.props, {value})); + await dispatchEvent?.('change', resolveEventData(this.props, {value})); if (/^\d+$/.test(value) && parseInt(value, 10) > lastPage) { value = String(lastPage);