diff --git a/docs/component/README.md b/docs/component/README.md index 1b3d581a62245b350aab3a108377939f23c1e3d8..54b964afba37d116cff06d10e7a7a11bb4bbf634 100644 --- a/docs/component/README.md +++ b/docs/component/README.md @@ -46,48 +46,95 @@ uni-app x支持的组件包括: - 复杂数据类型需要通过 `PropType` 标记类型,[详见](https://cn.vuejs.org/guide/typescript/options-api.html#typing-component-props)。 - `type` 不支持使用自定义的构造函数。 +::: preview +> 选项式 API ```ts -export default { + +``` +> 组合式 API +```ts + ``` +::: +::: preview +> 选项式 API ```ts -type Obj = { a: number } - -export default { - props: { - num: { - type: Number, - required: true - }, - str: { - type: String, - default: 'str', - validator(value: string): boolean { - return value.length > 0 + ``` +> 组合式 API +```ts + +``` +::: ## 自定义组件 v-model 绑定复杂表达式 @v-model-complex-expression 自定义组件 `v-model` 绑定复杂表达式时,需要通过 `as` 指定类型(仅App-Android 平台)。 +::: preview +> 选项式 API ```ts ``` +> 组合式 API +```ts + + + +``` +::: ## 作用域插槽的类型 作用域插槽需在组件中指定插槽数据类型 +::: preview +> 选项式 API ```ts // components/Foo.uvue - - - - -import { SlotsType } from 'vue' -export default { - slots: Object as SlotsType<{ - default: { msg: string } - }> -} + + + + +// page.uvue + + + +``` +> 组合式 API +```ts +// components/Foo.uvue + + + + // page.uvue - - - - - + + + ``` +::: ## ref @@ -142,14 +245,12 @@ export default { - 在 `uni-app x` 中,要访问 `$refs` 中的属性,需要使用索引方式。 ::: preview - > uni-app js 引擎版 - ```ts @@ -158,35 +259,49 @@ export default { export default { onReady() { - const text = this.$refs.text as Element // 仅H5端支持 - const foo = this.$refs.foo as ComponentPublicInstance + const text = this.$refs.textRef as Element // 仅H5端支持 + const foo = this.$refs.fooRef as ComponentPublicInstance } } ``` - > uni-app x - ```ts +// 选项式 API -``` +// 组合式 API + + + +``` ::: ## 监听页面生命周期 @@ -219,26 +334,38 @@ Uni`组件名(驼峰)`Element **示例代码** +::: preview +> 选项式 API ```html - ``` +> 组合式 API +```html + + + +``` +::: **bug&tips** @@ -265,63 +392,89 @@ easycom组件,用法和内置组件一样。也是使用 `this.$refs` 获取 **示例代码** -假使有一个component1组件,其有若干方法foo1等,如下。 +假使有一个 `Foo` 组件,其有若干方法 `foo1` 等,如下。 +::: preview +> 选项式 API ```html - - - ``` +> 组合式 API +```html + +``` +::: -component1组件符合[easycom规范](https://uniapp.dcloud.net.cn/component/#easycom) +`Foo` 组件符合[easycom规范](https://uniapp.dcloud.net.cn/component/#easycom) -那么在页面中调用component1组件的方法如下: +那么在页面中调用 `Foo` 组件的方法如下: + +::: preview +> 选项式 API ```html - ``` +> 组合式 API +```html + + + +``` +::: + ### 其它自定义组件的方法调用使用callMethod@$callMethod @@ -340,84 +493,105 @@ callMethod可用于所有自定义组件,包括easycom组件也可以使用, ComponentPublicInstance -页面示例代码 `page1.uvue` +页面示例代码 `page.uvue` +::: preview +> 选项式 API ```html - ``` - -组件示例代码 `component1.uvue` - +> 组合式 API ```html - +``` +::: + +组件示例代码 `Foo.uvue` + +::: preview +> 选项式 API +```html + ``` +> 组合式 API +```html + +``` +:::