Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello-uvue
提交
b657bfe4
H
hello-uvue
项目概览
DCloud
/
hello-uvue
通知
348
Star
2
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello-uvue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b657bfe4
编写于
11月 05, 2024
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(render function): 补充 render 自定义组件更新 props 示例及测试 issue:11752
上级
aaa79b4c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
56 addition
and
41 deletion
+56
-41
components/CompForHFunction.uvue
components/CompForHFunction.uvue
+17
-6
pages/render-function/render/render-composition.uvue
pages/render-function/render/render-composition.uvue
+1
-1
pages/render-function/render/render-options.uvue
pages/render-function/render/render-options.uvue
+34
-34
pages/render-function/render/render.test.js
pages/render-function/render/render.test.js
+4
-0
未找到文件。
components/CompForHFunction.uvue
浏览文件 @
b657bfe4
<template>
<view>
<text class="uni-common-mt bold component-for-h-function">component for h()</text>
<slot />
</view>
</template>
<template>
<view>
<text class="uni-common-mt bold component-for-h-function">component for h()</text>
<text id="comp-for-h-function-msg">{{msg}}</text>
<slot />
</view>
</template>
<script>
export default {
props: {
msg: {
type: String
}
}
}
</script>
pages/render-function/render/render-composition.uvue
浏览文件 @
b657bfe4
...
...
@@ -5,7 +5,7 @@ const msg = ref('default msg')
// 故意外部声明为UTSJSONObject
const msgProps = { class: 'uni-common-mt msg', style: { color: 'blue' } }
const render = ():VNode => h('view', { class: 'page' }, [
h(CompForHFunction, {}, (): VNode[] => [h('text', { class: 'comp-slot' }, 'component slot')]),
h(CompForHFunction, {
msg: msg.value
}, (): VNode[] => [h('text', { class: 'comp-slot' }, 'component slot')]),
h('text', msgProps, msg.value),
h(
'button',
...
...
pages/render-function/render/render-options.uvue
浏览文件 @
b657bfe4
<script lang="uts">
import CompForHFunction from '@/components/CompForHFunction.uvue'
// 故意外部声明为UTSJSONObject
const msgProps = { class: 'uni-common-mt msg', style: { color: 'blue' } }
export default {
data() {
return {
msg: 'default msg'
}
},
render()
: VNode {
return h('view', { class: 'page' }, [
h(CompForHFunction, {
}, (): VNode[] => [h('text', { class: 'comp-slot' }, 'component slot')]),
h('text', msgProps, this.msg),
h(
'button',
{
class: 'uni-common-mt btn',
type: 'primary',
onClick: () => {
this.msg = 'new msg'
}
},
'click'
)
])
}
}
</script>
<style>
.btn {
color: red;
}
<script lang="uts">
import CompForHFunction from '@/components/CompForHFunction.uvue'
// 故意外部声明为UTSJSONObject
const msgProps = { class: 'uni-common-mt msg', style: { color: 'blue' } }
export default {
data() {
return {
msg: 'default msg'
}
},
render()
: VNode {
return h('view', { class: 'page' }, [
h(CompForHFunction, {
msg: this.msg }, () : VNode[] => [h('text', { class: 'comp-slot' }, 'component slot')]),
h('text', msgProps, this.msg),
h(
'button',
{
class: 'uni-common-mt btn',
type: 'primary',
onClick: () => {
this.msg = 'new msg'
}
},
'click'
)
])
}
}
</script>
<style>
.btn {
color: red;
}
</style>
\ No newline at end of file
pages/render-function/render/render.test.js
浏览文件 @
b657bfe4
...
...
@@ -25,12 +25,16 @@ describe('render-function render', () => {
let
msgEl
=
await
page
.
$
(
'
.msg
'
)
expect
(
await
msgEl
.
text
()).
toEqual
(
'
default msg
'
)
compForHFunctionMsg
=
await
page
.
$
(
'
#comp-for-h-function-msg
'
)
expect
(
await
compForHFunctionMsg
.
text
()).
toEqual
(
'
default msg
'
)
const
btnEl
=
await
page
.
$
(
'
.btn
'
)
expect
(
await
btnEl
.
property
(
'
type
'
)).
toBe
(
'
primary
'
)
await
btnEl
.
tap
()
msgEl
=
await
page
.
$
(
'
.msg
'
)
expect
(
await
msgEl
.
text
()).
toEqual
(
'
new msg
'
)
compForHFunctionMsg
=
await
page
.
$
(
'
#comp-for-h-function-msg
'
)
expect
(
await
compForHFunctionMsg
.
text
()).
toEqual
(
'
new msg
'
)
}
it
(
'
render options API
'
,
async
()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录