Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
0d6195bd
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
208
Star
4
Fork
46
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
15
列表
看板
标记
里程碑
合并请求
16
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
15
Issue
15
列表
看板
标记
里程碑
合并请求
16
合并请求
16
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
0d6195bd
编写于
1月 26, 2024
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://gitcode.net/dcloud/unidocs-uni-app-x-zh
上级
bbeb69e4
4b720e8a
变更
9
展开全部
显示空白变更内容
内联
并排
Showing
9 changed file
with
141 addition
and
53 deletion
+141
-53
docs/.vuepress/utils/cssJson.json
docs/.vuepress/utils/cssJson.json
+1
-1
docs/.vuepress/utils/utsApiJson.json
docs/.vuepress/utils/utsApiJson.json
+1
-1
docs/.vuepress/utils/utsComJson.json
docs/.vuepress/utils/utsComJson.json
+1
-1
docs/.vuepress/utils/utsJson.json
docs/.vuepress/utils/utsJson.json
+1
-1
docs/api/create-request-permission-listener.md
docs/api/create-request-permission-listener.md
+1
-0
docs/component/README.md
docs/component/README.md
+13
-10
docs/css/README.md
docs/css/README.md
+6
-39
docs/vue/README.md
docs/vue/README.md
+116
-0
docs/web/README.md
docs/web/README.md
+1
-0
未找到文件。
docs/.vuepress/utils/cssJson.json
浏览文件 @
0d6195bd
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
docs/.vuepress/utils/utsApiJson.json
浏览文件 @
0d6195bd
此差异已折叠。
点击以展开。
docs/.vuepress/utils/utsComJson.json
浏览文件 @
0d6195bd
此差异已折叠。
点击以展开。
docs/.vuepress/utils/utsJson.json
浏览文件 @
0d6195bd
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
docs/api/create-request-permission-listener.md
浏览文件 @
0d6195bd
...
@@ -19,6 +19,7 @@ app-android平台,可使用本API监听应用权限申请确认框的弹出和
...
@@ -19,6 +19,7 @@ app-android平台,可使用本API监听应用权限申请确认框的弹出和
+
如果权限已经申请并且允许之后,
`onConfirm`
不会触发。
+
如果权限已经申请并且允许之后,
`onConfirm`
不会触发。
+
如果同时申请多个权限时,
`onComplete`
可能会触发多次。
+
如果同时申请多个权限时,
`onComplete`
可能会触发多次。
+
uni-app x 中如果请求一个已经被永久拒绝的权限,可能会触发
`onConfirm`
,建议做延时处理。
<!-- UTSAPIJSON.createRequestPermissionListener.example -->
<!-- UTSAPIJSON.createRequestPermissionListener.example -->
...
...
docs/component/README.md
浏览文件 @
0d6195bd
...
@@ -41,10 +41,18 @@ uni-app x支持的组件包括:
...
@@ -41,10 +41,18 @@ uni-app x支持的组件包括:
## props
## props
-
支持
[
对象方式
](
https://cn.vuejs.org/guide/components/props.html#props-declaration
)
声明。从4.0
版本qi支持字符串数组方式声明
。
-
支持
[
对象方式
](
https://cn.vuejs.org/guide/components/props.html#props-declaration
)
声明。从4.0
+ 支持字符串数组方式声明。使用字符串数组方式声明时,所有 prop 类型均为 any | null
。
-
仅支持直接在
`export default`
内部声明,不支持其他位置定义后,在
`export default`
中引用。
-
仅支持直接在
`export default`
内部声明,不支持其他位置定义后,在
`export default`
中引用。
-
复杂数据类型需要通过
`PropType`
标记类型,
[
详见
](
https://cn.vuejs.org/guide/typescript/options-api.html#typing-component-props
)
。
-
复杂数据类型需要通过
`PropType`
标记类型,
[
详见
](
https://cn.vuejs.org/guide/typescript/options-api.html#typing-component-props
)
。
-
`type`
不支持使用自定义的构造函数。
-
`type`
不支持使用自定义的构造函数。
```
ts
export
default
{
// 字符串数组方式声明,所有 prop 类型均为 any | null
props
:
[
'
num
'
,
'
str
'
,
'
obj
'
,
'
arr
'
]
}
```
```
ts
```
ts
type
Obj
=
{
a
:
number
}
type
Obj
=
{
a
:
number
}
...
@@ -75,7 +83,7 @@ export default {
...
@@ -75,7 +83,7 @@ export default {
## 自定义组件 v-model 绑定复杂表达式 @v-model-complex-expression
## 自定义组件 v-model 绑定复杂表达式 @v-model-complex-expression
自定义组件
`v-model`
绑定复杂表达式时,需要通过
`as`
指定类型。
自定义组件
`v-model`
绑定复杂表达式时,需要通过
`as`
指定类型
(仅App-Android 平台)
。
```
ts
```
ts
<
template
>
<
template
>
...
@@ -97,15 +105,10 @@ export default {
...
@@ -97,15 +105,10 @@ export default {
}
}
<
/script>
<
/script>
```
```
## 自定义事件
-
[
v-model
](
https://uniapp.dcloud.io/tutorial/vue3-components.html#v-model-modifiers
)
暂不支持
`capitalize`
修饰符。
## 计算属性和侦听器
## 计算属性和侦听器
-
[
watch deep
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E9%80%89%E9%A1%B9-deep
)
不支持
-
[
watch deep
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E9%80%89%E9%A1%B9-deep
)
不支持
(仅App-Android 平台, 4.0 将支持)
-
[
监听对象中单个属性
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E7%9B%91%E5%90%AC%E5%AF%B9%E8%B1%A1%E4%B8%AD%E5%8D%95%E4%B8%AA%E5%B1%9E%E6%80%A7
)
不支持
-
[
监听对象中单个属性
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E7%9B%91%E5%90%AC%E5%AF%B9%E8%B1%A1%E4%B8%AD%E5%8D%95%E4%B8%AA%E5%B1%9E%E6%80%A7
)
不支持
(仅App-Android 平台, 4.0 将支持)
## 作用域插槽的类型
## 作用域插槽的类型
...
@@ -192,7 +195,7 @@ export default {
...
@@ -192,7 +195,7 @@ export default {
## 监听页面生命周期
## 监听页面生命周期
目前暂不支持在组件内监听页面生命周期,待后续支持组合式 API 后,可通过组合式 API 实现
。
`4.0`
起可通过组合式 API 实现组件中监听页面生命周期
。
## vue 与 uvue 不同文件后缀的优先级 @priority
## vue 与 uvue 不同文件后缀的优先级 @priority
...
...
docs/css/README.md
浏览文件 @
0d6195bd
...
@@ -224,21 +224,9 @@ App仅对同层的兄弟节点之间支持z-index来调节层级。不支持脱
...
@@ -224,21 +224,9 @@ App仅对同层的兄弟节点之间支持z-index来调节层级。不支持脱
字体图标
[
详见
](
font-family.md
)
字体图标
[
详见
](
font-family.md
)
## 选择器
## 选择器 @selector
|类别 |示例 |App支持情况 |备注 |
|:-: |:-: |:-: |:-: |
<!-- CSSJSON.selector_values.compatibility -->
|通配选择器 |
*
{} |× | |
|类选择器 |.class {} |√ | |
|元素选择器 |tag {} |× | |
|ID 选择器 |#id {} |× | |
|属性选择器 |[attr] {} |× | |
|分组选择器 |.a, .b {} |√ | |
|直接子代选择器 |.a > .b {} |√ | |
|后代选择器 |.a .b {} |√ | |
|一般兄弟选择器 |.a ~ .b {} |√ | |
|紧邻兄弟选择器 |.a + .b {} |√ | |
|伪类选择器 |:active {} |× | |
|伪元素选择器 |::before {}|× | |
注意,选择器声明的变化可能会导致元素重新绘制。为了减少选择器变化引起的 DOM 更新数量,
**当前只支持:CSS 声明的多个选择器中最后一个规则的变更对 DOM 的更新**
。
注意,选择器声明的变化可能会导致元素重新绘制。为了减少选择器变化引起的 DOM 更新数量,
**当前只支持:CSS 声明的多个选择器中最后一个规则的变更对 DOM 的更新**
。
...
@@ -281,20 +269,7 @@ App仅对同层的兄弟节点之间支持z-index来调节层级。不支持脱
...
@@ -281,20 +269,7 @@ App仅对同层的兄弟节点之间支持z-index来调节层级。不支持脱
-
长度
`<length>`
用于表示距离尺寸的 CSS 数据类型。许多 CSS 属性会用到长度,比如 width、margin、padding。
-
长度
`<length>`
用于表示距离尺寸的 CSS 数据类型。许多 CSS 属性会用到长度,比如 width、margin、padding。
-
长度
`<percentage>`
表述一个百分比值。许多 CSS 属性 可以取百分比值,用以根据父对象来确定大小。百分比值由一个
`<number>`
具体数值后跟着%符号构成。就像其他在 css 里的单位一样,在%和数值之间是不允许有空格的。
-
长度
`<percentage>`
表述一个百分比值。许多 CSS 属性 可以取百分比值,用以根据父对象来确定大小。百分比值由一个
`<number>`
具体数值后跟着%符号构成。就像其他在 css 里的单位一样,在%和数值之间是不允许有空格的。
|类别 |App支持情况 |备注 |
<!-- CSSJSON.length_values.compatibility -->
|:-: |:-: |:-: |
|px |√ | |
|rpx |√ | |
|百分比 |√ |仅支持width、height、padding、margin、top、left、right、bottom、flex-basis|
|rem | | |
|em |√ |仅支持line-height |
|vw | | |
|vh | | |
|vmin | | |
|vmax | | |
|ratio | | |
|env() | | |
|calc() | | |
rpx是一个以设备750px为基准的单位,750rpx即为屏幕宽度,375rpx即为屏幕一半宽度。它比较适合适配不同宽度的手机。但rpx的性能和精度不如px,如果px可满足需求,尽量使用px。
rpx是一个以设备750px为基准的单位,750rpx即为屏幕宽度,375rpx即为屏幕一半宽度。它比较适合适配不同宽度的手机。但rpx的性能和精度不如px,如果px可满足需求,尽量使用px。
...
@@ -312,17 +287,9 @@ px、rpx属于逻辑像素,在不同dpi的设备上,需要转换为物理像
...
@@ -312,17 +287,9 @@ px、rpx属于逻辑像素,在不同dpi的设备上,需要转换为物理像
rpx和百分比,比px更容易产生浮点数,所以如果px能满足需求,尽量不用rpx和百分比。
rpx和百分比,比px更容易产生浮点数,所以如果px能满足需求,尽量不用rpx和百分比。
## 颜色 @color
## 颜色
<!-- CSSJSON.color_values.compatibility -->
|类别 |App支持情况 |备注 |
|:-: |:-: |:-: |
|color keywords |√ |red等 |
|#RRGGBB / #RGB |√ | |
|rgb[a] |√ | |
|transparent |√ | |
|currentColor | | |
|hsl | | |
|hsla | | |
## css方法
## css方法
...
...
docs/vue/README.md
浏览文件 @
0d6195bd
...
@@ -69,14 +69,34 @@ export function createApp() {
...
@@ -69,14 +69,34 @@ export function createApp() {
## 组合式 API @composition-api
## 组合式 API @composition-api
**注意:**
-
暂不支持
`<script setup>`
和
`<script>`
同时使用,如果需要配置
`options`
内容,比如
`name`
,可以使用
`defineOptions`
。
-
暂不支持顶层
`await`
。
-
暂不支持
`<script setup>`
配置
`generic`
泛型类型参数。
-
`App.uvue`
暂不支持组合式 API。
### 响应式: 核心
### 响应式: 核心
<!-- VUEJSON.reactivity_core.compatibility -->
<!-- VUEJSON.reactivity_core.compatibility -->
<!-- VUEJSON.reactivity_core.example -->
<!-- VUEJSON.reactivity_core.example -->
**注意:**
-
`computed`
需通过泛型指定返回值类型。
```
ts
const
count
=
ref
(
0
)
const
doubleCount
=
computed
<
number
>
(()
:
number
=>
{
return
count
.
value
*
2
})
```
### 响应式: 工具
### 响应式: 工具
<!-- VUEJSON.reactivity_utilities.compatibility -->
<!-- VUEJSON.reactivity_utilities.compatibility -->
<!-- VUEJSON.reactivity_utilities.example -->
<!-- VUEJSON.reactivity_utilities.example -->
**注意:**
-
`toRefs`
仅支持
`Array`
和
`UTSJSONObject`
, 不支持自定义类型。
### 响应式: 进阶
### 响应式: 进阶
<!-- VUEJSON.reactivity_advanced.compatibility -->
<!-- VUEJSON.reactivity_advanced.compatibility -->
...
@@ -362,6 +382,102 @@ export default {
...
@@ -362,6 +382,102 @@ export default {
<!-- VUEJSON.single_file_component_script.compatibility -->
<!-- VUEJSON.single_file_component_script.compatibility -->
**注意:**
-
`defineProps`
仅支持数组字面量、对象字面量定义(等同于
`options`
中的
`props`
规则)及使用纯类型参数的方式来声明。
```
ts
// 数组字面量
defineProps
([
'
str
'
,
'
num
'
,
'
bool
'
,
'
arr
'
,
'
obj
'
,
'
fn
'
])
// 对象字面量
defineProps
({
str
:
String
,
num
:
Number
,
bool
:
{
type
:
Boolean
,
default
:
true
},
arr
:
{
type
:
Array
as
PropType
<
string
[]
>
,
default
:
()
:
string
[]
=>
[]
as
string
[]
},
obj
:
{
type
:
Object
as
PropType
<
UTSJSONObject
>
,
default
:
()
:
UTSJSONObject
=>
({
a
:
1
})
},
fn
:
{
type
:
Function
as
PropType
<
()
=>
string
>
,
default
:
()
:
string
=>
''
}
})
// 纯类型参数
defineProps
<
{
str
:
String
,
num
:
Number
,
bool
:
Boolean
,
arr
:
PropType
<
string
[]
>
,
obj
:
PropType
<
UTSJSONObject
>
,
fn
:
PropType
<
()
=>
string
>
}
>
()
```
-
`defineEmits`
仅支持数组字面量和纯类型参数的方式来声明。
```
ts
// 数组字面量
const
emit
=
defineEmits
([
'
change
'
])
// 纯类型参数
const
emit
=
defineEmits
<
{
(
e
:
'
change
'
,
id
:
number
)
:
void
}
>
()
const
emit
=
defineEmits
<
{
// 具名元组语法
change
:
[
id
:
number
]
}
>
()
```
-
`defineOptions`
仅支持对象字面量方式定义。
```
ts
defineOptions
({
data
()
{
return
{
count
:
0
,
price
:
10
,
total
:
0
}
},
computed
:
{
doubleCount
()
:
number
{
return
this
.
count
*
2
},
},
watch
:
{
count
()
{
this
.
total
=
this
.
price
*
this
.
count
},
},
methods
:
{
increment
()
{
this
.
count
++
}
}
})
```
-
`defineExpose`
仅支持对象字面量方式定义,导出的变量或方法,必须是
`setup`
中定义的,暂不支持外部定义。
```
ts
<
script
setup
>
const
str
=
'
str
'
const
num
=
ref
(
0
)
const
increment
=
()
=>
{
num
.
value
++
}
defineExpose
({
str
,
num
,
increment
})
<
/script>
```
## 其他示例
## 其他示例
...
...
docs/web/README.md
浏览文件 @
0d6195bd
...
@@ -15,6 +15,7 @@ uni-app x编译到web端时遵循vue规范,目前有部分vue特性暂不支
...
@@ -15,6 +15,7 @@ uni-app x编译到web端时遵循vue规范,目前有部分vue特性暂不支
-
组合式API:
`defineOptions`
、
`defineModel`
、
`toValue`
、
`toRef`
、
`toRefs`
、
`hasInjectionContext`
-
组合式API:
`defineOptions`
、
`defineModel`
、
`toValue`
、
`toRef`
、
`toRefs`
、
`hasInjectionContext`
-
指令:
`v-once`
、
`v-memo`
-
指令:
`v-once`
、
`v-memo`
-
render函数
-
render函数
-
不支持组件中监听页面
`onPageScroll`
、
`onReachBottom`
生命周期
部分支持的特性
部分支持的特性
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录