@comms-id / company-react
一个React钩子和一个用于通信的成品组件。ID Company字段:用户键入公司名称,或9位ACN或ARBN。易于访问,没有布局变化,始终显示数据属性。React 18或更高版本;这取决于 @comms-id/asic-company-lookup 没有别的了。
import { createAsicCompanyLookupBrowserClient } from "@comms-id/asic-company-lookup/browser";
import { AsicCompanyLookupLookup } from "@comms-id/asic-company-lookup-react";
const client = createAsicCompanyLookupBrowserClient({ relayUrl: "/api/comms-id/company" });
export const Form = () => (
<AsicCompanyLookupLookup
client={client}
onSelect={(record, timing) => console.log(record, `${timing.ms} ms`)}
/>
);
relayUrl 您自己的服务器路由,设置与 @comms-id/relay您的服务器将调用签名为您注册的应用程序,因此浏览器不持有凭据。
这个领域是做什么的
- 一个名字: 用户暂停后,它会从ASIC注册快照中提示公司(名称,ACN或ARBN,状态)。搜索已经返回了每条完整的记录,因此选择一条记录不需要第二次调用。
- ACN或ARBN: 一次查找9位数字(允许空格和连字符)。超过9位数字或错误的ASIC校验数字将在浏览器中被拒绝,并且不会发送任何内容。
- 结果是固定注释行上的一个摘要行(名称,按其类型命名的数字,如“ACN 001 234 564”或“ARBN 001 234 591”,状态),因此页面永远不会移动。
- “找不到公司”和“找不到公司”是不同的信息;故障提示“再试一次”。快照缺失并不能证明公司不在实时登记册上。
您自己的标记: useAsicCompanyLookup
const field = useAsicCompanyLookup({ client, onSelect });
return (
<>
<input {...field.getInputProps()} />
<ul {...field.getListboxProps("Matches")} hidden={!field.state.open}>
{field.state.suggestions.map((s, i) => (
<li key={s.key} {...field.getOptionProps(i)}>{s.primary}</li>
))}
</ul>
<p {...field.getStatusProps()}>{field.state.announcement}</p>
</>
);
道具获取者携带WAI-ARIA组合框合约:角色, aria-expanded, aria-controls, aria-activedescendant,键处理(箭头,Enter, Escape, Tab)和一个礼貌的生活区域。当你使用钩子的时候,你可以自己呈现属性:是的 field.state.attribution.
组件
道具: client (需要), label (默认为“公司名称、ACN或ARBN”), onSelect, minChars (3), debounceMs (400), limit (8), settings, status (在 settings), idPrefix, name, placeholder, disabled, required, className, listLabel, showTiming (真正的), renderOption.
使用自定义属性对其进行样式化 --comms-id-text, --comms-id-surface, --comms-id-border, --comms-id-active, --comms-id-radius 或者是 comms-id-asic-company-lookup__* 类名。它不需要样式表。
- 列表在输入的下面浮动;打开它什么也不动。注线有一个预留高度。
- 查找失败会说明原因并提示“再试一次”;它永远不会显示为“不匹配”。
- 它在服务器上以相同的结构呈现,并在StrictMode下工作。
数据属性
公司数据来自ASIC的公共注册,通过data.gov. AU (CC BY 3.0 AU)。组件总是显示归属。不要隐藏它。
LICENSE 是消费者客户牌照。 src/ 是由 @comms-id/forge-transformers 而且从来没有手工编辑过。