API › @builder.io/qwik-city
Action
export type Action<
RETURN,
INPUT = Record<string, unknown>,
OPTIONAL extends boolean = true,
> = {
(): ActionStore<RETURN, INPUT, OPTIONAL>;
};
参考: ActionStore
ActionConstructor
export type ActionConstructor = {
<
OBJ extends Record<string, any> | void | null,
VALIDATOR extends TypedDataValidator,
REST extends [DataValidator, ...DataValidator[]],
>(
actionQrl: (
data: GetValidatorType<VALIDATOR>,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options: {
readonly id?: string;
readonly validation: [VALIDATOR, ...REST];
},
): Action<
StrictUnion<
| OBJ
| FailReturn<ValidatorErrorType<GetValidatorType<VALIDATOR>>>
| FailReturn<FailOfRest<REST>>
>,
GetValidatorType<VALIDATOR>,
false
>;
<
OBJ extends Record<string, any> | void | null,
VALIDATOR extends TypedDataValidator,
>(
actionQrl: (
data: GetValidatorType<VALIDATOR>,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options: {
readonly id?: string;
readonly validation: [VALIDATOR];
},
): Action<
StrictUnion<
OBJ | FailReturn<ValidatorErrorType<GetValidatorType<VALIDATOR>>>
>,
GetValidatorType<VALIDATOR>,
false
>;
<
OBJ extends Record<string, any> | void | null,
REST extends [DataValidator, ...DataValidator[]],
>(
actionQrl: (
data: JSONObject,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options: {
readonly id?: string;
readonly validation: REST;
},
): Action<StrictUnion<OBJ | FailReturn<FailOfRest<REST>>>>;
<
OBJ extends Record<string, any> | void | null,
VALIDATOR extends TypedDataValidator,
REST extends [DataValidator, ...DataValidator[]],
>(
actionQrl: (
data: GetValidatorType<VALIDATOR>,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options: VALIDATOR,
...rest: REST
): Action<
StrictUnion<
| OBJ
| FailReturn<ValidatorErrorType<GetValidatorType<VALIDATOR>>>
| FailReturn<FailOfRest<REST>>
>,
GetValidatorType<VALIDATOR>,
false
>;
<
OBJ extends Record<string, any> | void | null,
VALIDATOR extends TypedDataValidator,
>(
actionQrl: (
data: GetValidatorType<VALIDATOR>,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options: VALIDATOR,
): Action<
StrictUnion<
OBJ | FailReturn<ValidatorErrorType<GetValidatorType<VALIDATOR>>>
>,
GetValidatorType<VALIDATOR>,
false
>;
<
OBJ extends Record<string, any> | void | null,
REST extends [DataValidator, ...DataValidator[]],
>(
actionQrl: (
form: JSONObject,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
...rest: REST
): Action<StrictUnion<OBJ | FailReturn<FailOfRest<REST>>>>;
<OBJ>(
actionQrl: (
form: JSONObject,
event: RequestEventAction,
) => ValueOrPromise<OBJ>,
options?: {
readonly id?: string;
},
): Action<StrictUnion<OBJ>>;
};
参考: TypedDataValidator, DataValidator, GetValidatorType, Action, StrictUnion, FailReturn, ValidatorErrorType, FailOfRest, JSONObject
ActionReturn
export type ActionReturn<RETURN> = {
readonly status?: number;
readonly value: RETURN;
};
ActionStore
export type ActionStore<RETURN, INPUT, OPTIONAL extends boolean = true> = {
readonly actionPath: string;
readonly isRunning: boolean;
readonly status?: number;
readonly formData: FormData | undefined;
readonly value: RETURN | undefined;
readonly submit: QRL<
OPTIONAL extends true
? (form?: INPUT | FormData | SubmitEvent) => Promise<ActionReturn<RETURN>>
: (form: INPUT | FormData | SubmitEvent) => Promise<ActionReturn<RETURN>>
>;
readonly submitted: boolean;
};
参考: ActionReturn
ContentHeading
export interface ContentHeading
属性
修饰符
类型
描述
只读
string
只读
number
只读
string
ContentMenu
export interface ContentMenu
属性
修饰符
类型
描述
只读
string
(可选)
只读
(可选)
只读
string
DataValidator
export type DataValidator<T extends Record<string, any> = {}> = {
validate(ev: RequestEvent, data: unknown): Promise<ValidatorReturn<T>>;
};
参考: ValidatorReturn
DocumentHead
export type DocumentHead =
| DocumentHeadValue
| ((props: DocumentHeadProps) => DocumentHeadValue);
参考: DocumentHeadValue, DocumentHeadProps
DocumentHeadProps
export interface DocumentHeadProps extends RouteLocation
扩展: RouteLocation
属性
修饰符
类型
描述
只读
只读
ResolveSyncValue
只读
<T>(fn: () => T) => T
DocumentHeadValue
export interface DocumentHeadValue<FrontMatter extends Record<string, any> = Record<string, unknown>>
属性
修饰符
类型
描述
只读
Readonly<FrontMatter>
(可选) 包含自定义数据的任意对象。当文档头部从 markdown 文件创建时,未被识别为知名元数据名称(如标题、描述、作者等)的 frontmatter 属性将存储在此属性中。
只读
readonly DocumentLink[]
(可选) 用于手动将 <link>
元素追加到 <head>
中。
只读
readonly DocumentMeta[]
(可选) 用于手动设置头部中的元标签。此外,data
属性可用于设置任意数据,<head>
组件稍后可使用这些数据生成 <meta>
标签。
只读
readonly DocumentScript[]
(可选) 用于手动将 <script>
元素追加到 <head>
中。
只读
readonly DocumentStyle[]
(可选) 用于手动将 <style>
元素追加到 <head>
中。
只读
string
(可选) 设置 document.title
。
DocumentLink
export interface DocumentLink
属性
修饰符
类型
描述
string
(可选)
string
(可选)
boolean
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
string
(可选)
DocumentMeta
export interface DocumentMeta
属性
修饰符
类型
描述
只读
string
(可选)
只读
string
(可选)
只读
string
(可选)
只读
string
(可选)
只读
string
(可选)
只读
string
(可选)
只读
string
(可选)
DocumentScript
此 API 作为开发者 Alpha 预览提供,可能会根据我们收到的反馈进行更改。请勿在生产环境中使用此 API。
export interface DocumentScript
属性
修饰符
类型
描述
只读
string
(ALPHA) (可选)
只读
Readonly<QwikIntrinsicElements['script']>
(ALPHA) (可选)
只读
string
(ALPHA) (可选)
DocumentStyle
export interface DocumentStyle
属性
修饰符
类型
描述
只读
string
(可选)
只读
Readonly<QwikIntrinsicElements['style']>
(可选)
只读
string
FailOfRest
export type FailOfRest<REST extends readonly DataValidator[]> =
REST extends readonly DataValidator<infer ERROR>[] ? ERROR : never;
参考: DataValidator
FailReturn
export type FailReturn<T> = T & Failed;
Form
Form: <O, I>(
{ action, spaReset, reloadDocument, onSubmit$, ...rest }: FormProps<O, I>,
key: string | null,
) => import("@builder.io/qwik").JSXOutput;
参数
类型
描述
{ action, spaReset, reloadDocument, onSubmit$, ...rest }
FormProps<O, I>
key
string | null
import("@builder.io/qwik").JSXOutput
FormProps
export interface FormProps<O, I> extends Omit<QwikJSX.IntrinsicElements['form'], 'action' | 'method'>
扩展: Omit<QwikJSX.IntrinsicElements['form'], 'action' | 'method'>
属性
修饰符
类型
描述
ActionStore<O, I, true | false>
(可选) 对 action()
返回的操作的引用。
string | number | null
(可选)
QRLEventHandlerMulti<SubmitEvent, HTMLFormElement> | undefined
(可选) 提交表单时立即执行的事件处理程序。
QRLEventHandlerMulti<CustomEvent<FormSubmitCompletedDetail<O>>, HTMLFormElement> | undefined
(可选) 操作成功执行并返回一些数据后立即执行的事件处理程序。
boolean
(可选) 当为 true
时,即使启用 SPA 模式且 JS 可用,表单提交也会导致页面完全重新加载。
boolean
(可选) 当为 true
时,在 SPA 模式下,所有表单输入都将重置,就像在页面完全提交表单时一样。
默认为 false
FormSubmitSuccessDetail
export interface FormSubmitCompletedDetail<T>
属性
修饰符
类型
描述
number
T
GetValidatorType
export type GetValidatorType<VALIDATOR extends TypedDataValidator> =
VALIDATOR extends TypedDataValidator<infer TYPE> ? zod.infer<TYPE> : never;
globalAction$
globalAction$: ActionConstructor;
globalActionQrl
globalActionQrl: ActionConstructorQRL;
JSONObject
export type JSONObject = {
[x: string]: JSONValue;
};
参考: JSONValue
JSONValue
export type JSONValue =
| string
| number
| boolean
| {
[x: string]: JSONValue;
}
| Array<JSONValue>;
参考: JSONValue
Link
Link: import("@builder.io/qwik").Component<LinkProps>;
LinkProps
export interface LinkProps extends AnchorAttributes
扩展: AnchorAttributes
属性
修饰符
类型
描述
boolean | 'js'
(可选) **默认为 _true_.**
Qwik 是否应该预取并缓存此 **Link
** 的目标页面,这包括调用任何 **routeLoader$
**、**onGet
** 等。
这 **提高了客户端 (SPA) 导航的 UX 性能**。
预取发生在链接在生产环境中进入视窗时 (**on:qvisibile
**),或者在开发期间使用 **mouseover
/focus
**。
如果用户启用了 **数据节省** 设置,则不会发生预取。
将此值设置为 **"js"
** 将仅预取在客户端渲染此页面所需的 javascript 包,**false
** 将完全禁用预取。
boolean
(可选)
boolean
(可选)
boolean
(可选)
Loader_2
export type Loader<RETURN> = {
(): LoaderSignal<RETURN>;
};
参考: LoaderSignal
LoaderSignal
export type LoaderSignal<TYPE> = TYPE extends () => ValueOrPromise<
infer VALIDATOR
>
? ReadonlySignal<ValueOrPromise<VALIDATOR>>
: ReadonlySignal<TYPE>;
MenuData
export type MenuData = [pathname: string, menuLoader: MenuModuleLoader];
NavigationType
export type NavigationType = "initial" | "form" | "link" | "popstate";
PageModule
export interface PageModule extends RouteModule
扩展: RouteModule
属性
修饰符
类型
描述
只读
unknown
只读
ContentModuleHead
(可选)
只读
(可选)
只读
(可选)
PathParams
export declare type PathParams = Record<string, string>;
QWIK_CITY_SCROLLER
QWIK_CITY_SCROLLER = "_qCityScroller";
QwikCityMockProps
export interface QwikCityMockProps
属性
修饰符
类型
描述
(可选)
Record<string, string>
(可选)
string
(可选)
QwikCityMockProvider
QwikCityMockProvider: import("@builder.io/qwik").Component<QwikCityMockProps>;
QwikCityPlan
export interface QwikCityPlan
属性
修饰符
类型
描述
只读
string
(可选)
只读
boolean
(可选)
只读
MenuData[]
(可选)
只读
只读
RouteModule[]
(可选)
只读
boolean
(可选)
QwikCityProps
export interface QwikCityProps
属性
修饰符
类型
描述
boolean
(可选) 启用视图过渡 API
默认值:true
QwikCityProvider
QwikCityProvider: import("@builder.io/qwik").Component<QwikCityProps>;
ResolvedDocumentHead
export type ResolvedDocumentHead<
FrontMatter extends Record<string, any> = Record<string, unknown>,
> = Required<DocumentHeadValue<FrontMatter>>;
routeAction$
routeAction$: ActionConstructor;
routeActionQrl
routeActionQrl: ActionConstructorQRL;
RouteData
export type RouteData =
| [routeName: string, loaders: ModuleLoader[]]
| [
routeName: string,
loaders: ModuleLoader[],
originalPathname: string,
routeBundleNames: string[],
];
routeLoader$
routeLoader$: LoaderConstructor;
routeLoaderQrl
routeLoaderQrl: LoaderConstructorQRL;
RouteLocation
export interface RouteLocation
属性
修饰符
类型
描述
只读
boolean
只读
Readonly<Record<string, string>>
只读
URL | undefined
只读
URL
RouteNavigate
export type RouteNavigate = QRL<
(
path?: string | number,
options?:
| {
type?: Exclude<NavigationType, "initial">;
forceReload?: boolean;
replaceState?: boolean;
scroll?: boolean;
}
| boolean,
) => Promise<void>
>;
参考: NavigationType
RouterOutlet
RouterOutlet: import("@builder.io/qwik").Component<unknown>;
server$
server$: <T extends ServerFunction>(
qrl: T,
options?: ServerConfig | undefined,
) => ServerQRL<T>;
参数
类型
描述
qrl
T
选项
ServerConfig | undefined
(可选)
ServerQRL<T>
ServerFunction
export type ServerFunction = {
(this: RequestEventBase, ...args: any[]): any;
options?: ServerConfig;
};
serverQrl
您可以将 AbortSignal 作为 server$
函数的第一个参数传递,它将使用它在触发时中止获取。
export type ServerQRL<T extends ServerFunction> = QRL<
| ((abort: AbortSignal, ...args: Parameters<T>) => ReturnType<T>)
| ((...args: Parameters<T>) => ReturnType<T>)
>;
参考: ServerFunction
ServerQRL
您可以将 AbortSignal 作为 server$
函数的第一个参数传递,它将使用它在触发时中止获取。
export type ServerQRL<T extends ServerFunction> = QRL<
| ((abort: AbortSignal, ...args: Parameters<T>) => ReturnType<T>)
| ((...args: Parameters<T>) => ReturnType<T>)
>;
参考: ServerFunction
ServiceWorkerRegister
ServiceWorkerRegister: (props: { nonce?: string }) =>
import("@builder.io/qwik").JSXNode<"script">;
参数
类型
描述
道具
{ nonce?: string; }
import("@builder.io/qwik").JSXNode<"script">
StaticGenerate
export interface StaticGenerate
属性
修饰符
类型
描述
(可选)
StaticGenerateHandler
export type StaticGenerateHandler = ({
env,
}: {
env: EnvGetter;
}) => Promise<StaticGenerate> | StaticGenerate;
参考: StaticGenerate
StrictUnion
export type StrictUnion<T> = Prettify<StrictUnionHelper<T, T>>;
TypedDataValidator
export type TypedDataValidator<T extends zod.ZodType = zod.ZodType> = {
__zod: zod.ZodSchema<T>;
validate(
ev: RequestEvent,
data: unknown,
): Promise<zod.SafeParseReturnType<T, T>>;
};
useContent
useContent: () => import("./types").ContentState;
返回值
import("./types").ContentState
useDocumentHead
返回当前页面的文档头部。泛型类型描述了前置内容。
useDocumentHead: <
FrontMatter extends Record<string, unknown> = Record<string, any>,
>() => Required<ResolvedDocumentHead<FrontMatter>>;
返回值
Required<ResolvedDocumentHead<FrontMatter>>
useLocation
useLocation: () => RouteLocation;
返回值
useNavigate
useNavigate: () => RouteNavigate;
返回值
validator$
validator$: ValidatorConstructor;
ValidatorErrorKeyDotNotation
export type ValidatorErrorKeyDotNotation<
T,
Prefix extends string = "",
> = T extends object
? {
[K in keyof T & string]: T[K] extends (infer U)[]
? U extends object
?
| `${Prefix}${K}[]`
| `${Prefix}${K}[]${ValidatorErrorKeyDotNotation<U, ".">}`
: `${Prefix}${K}[]`
: T[K] extends object
? ValidatorErrorKeyDotNotation<T[K], `${Prefix}${K}.`>
: `${Prefix}${K}`;
}[keyof T & string]
: never;
参考: ValidatorErrorKeyDotNotation
ValidatorErrorType
export type ValidatorErrorType<T, U = string> = {
formErrors: U[];
fieldErrors: Partial<{
[K in ValidatorErrorKeyDotNotation<T>]: K extends `${infer _Prefix}[]${infer _Suffix}`
? U[]
: U;
}>;
};
参考: ValidatorErrorKeyDotNotation
validatorQrl
validatorQrl: ValidatorConstructorQRL;
ValidatorReturn
export type ValidatorReturn<T extends Record<string, any> = {}> =
| ValidatorReturnSuccess
| ValidatorReturnFail<T>;
zod$
zod$: ZodConstructor;
ZodConstructor
export type ZodConstructor = {
<T extends zod.ZodRawShape>(schema: T): TypedDataValidator<zod.ZodObject<T>>;
<T extends zod.ZodRawShape>(
schema: (z: typeof zod, ev: RequestEvent) => T,
): TypedDataValidator<zod.ZodObject<T>>;
<T extends zod.Schema>(schema: T): TypedDataValidator<T>;
<T extends zod.Schema>(
schema: (z: typeof zod, ev: RequestEvent) => T,
): TypedDataValidator<T>;
};
zodQrl
zodQrl: ZodConstructorQRL;