From cd559a59e47aca0e8c41ddd2f6b3ad9a0519c135 Mon Sep 17 00:00:00 2001
From: zhenyuWang <13641039885@163.com>
Date: Mon, 8 Apr 2024 21:03:00 +0800
Subject: [PATCH] =?UTF-8?q?docs(component):=20=E8=A1=A5=E5=85=85=E7=BB=84?=
=?UTF-8?q?=E5=90=88=E5=BC=8F=20API=20=E4=BB=A3=E7=A0=81=E7=A4=BA=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/component/README.md | 472 +++++++++++++++++++++++++++------------
1 file changed, 323 insertions(+), 149 deletions(-)
diff --git a/docs/component/README.md b/docs/component/README.md
index 1b3d581a..54b964af 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
+
+
+
+ {{ msg }}
+
+
+
+
+
+```
+> 组合式 API
+```ts
+// components/Foo.uvue
+
+
+
+
+
+
// page.uvue
-
-
-
- {{ slotProps.msg }}
-
-
-
+
+
+
+ {{ msg }}
+
+
+
+
+
```
+:::
## ref
@@ -142,14 +245,12 @@ export default {
- 在 `uni-app x` 中,要访问 `$refs` 中的属性,需要使用索引方式。
::: preview
-
> uni-app js 引擎版
-
```ts
- text node
-
+ text node
+
@@ -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
- text node
-
+ text node
+
-```
+// 组合式 API
+
+
+ text node
+
+
+
+
+
+```
:::
## 监听页面生命周期
@@ -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
+
+```
+:::
--
GitLab