Skip to content
Guides

表单

ComPDF React Native SDK 支持多种表单事件监听,以下是常用的表单事件:

事件名称描述
onFormStyleDialogDismissed当表单属性弹窗关闭时触发,返回包含表单类型的事件对象。
CPDFEvent.FORM_FIELDS_CREATED当用户创建表单字段时触发,返回创建的表单字段数据。
CPDFEvent.FORM_FIELDS_SELECTED当用户选中表单字段时触发,返回选中的表单字段数据。
CPDFEvent.FORM_FIELDS_DESELECTED当用户取消选中表单字段时触发,返回取消选中的表单字段数据。

要监听这些事件,可以在创建 CPDFReaderView 时传入关闭回调,或在创建后通过 addEventListener() 监听字段创建与选中事件。例如:

tsx
<CPDFReaderView
  ref={pdfReaderRef}
  document={samplePDF}
  configuration={configuration}
  onFormStyleDialogDismissed={(event) => {
    console.log('Form style dialog dismissed:', event.type);
  }}
/>

onFormStyleDialogDismissed 返回的事件对象结构如下:

tsx
{
  type:
    | 'textField'
    | 'checkBox'
    | 'radioButton'
    | 'listBox'
    | 'comboBox'
    | 'pushButton';
}

其他表单事件可以在创建 CPDFReaderView 后调用函数。例如:

tsx
pdfReaderRef.current?.addEventListener(
  CPDFEvent.FORM_FIELDS_CREATED,
  (widget) => {
    // event 为 CPDFWidget 对象以及其子类对象
  }
);

pdfReaderRef.current?.addEventListener(
  CPDFEvent.FORM_FIELDS_SELECTED,
  (widget) => {
    // event 为 CPDFWidget 对象以及其子类对象
  }
);

pdfReaderRef.current?.addEventListener(
  CPDFEvent.FORM_FIELDS_DESELECTED,
  (widget) => {
    // event 为 CPDFWidget 对象以及其子类对象
  }
);