提交 21982966 编写于 作者: DCloud-WZF's avatar DCloud-WZF 💬

feat(composition api): toValue

上级 937d899a
const PAGE_PATH = '/pages/composition-api/reactivity/to-value/to-value'
describe('toValue', () => {
if (process.env.uniTestPlatformInfo.startsWith('android')) {
let page = null
beforeAll(async () => {
page = await program.reLaunch(PAGE_PATH)
await page.waitFor('view')
})
it('basic', async () => {
const refCount = await page.$('#ref-count')
expect(await refCount.text()).toBe('ref count: 0')
const isRefRefCount = await page.$('#is-ref-ref-count')
expect(await isRefRefCount.text()).toBe('isRef ref count: true')
const count = await page.$('#count')
expect(await count.text()).toBe('count: 0')
const isRefCount = await page.$('#is-ref-count')
expect(await isRefCount.text()).toBe('isRef count: false')
const objNum = await page.$('#obj-num')
expect(await objNum.text()).toBe('obj.num: 0')
const toValueObjNum = await page.$('#to-value-obj-num')
expect(await toValueObjNum.text()).toBe('toValue(() => obj.num): 0')
const incrementBtn = await page.$('#increment-btn')
await incrementBtn.tap()
expect(await objNum.text()).toBe('obj.num: 1')
expect(await toValueObjNum.text()).toBe('toValue(() => obj.num): 1')
})
} else {
it('other platform', () => {
expect(1).toBe(1)
})
}
})
\ No newline at end of file
<template><view class="page">toValue</view></template>
\ No newline at end of file
<template>
<view class="page">
<text id="ref-count">ref count: {{ refCount }}</text>
<text class="uni-common-mt" id="is-ref-ref-count">isRef ref count: {{ isRefRefCount }}</text>
<text class="uni-common-mt" id="count">count: {{ count }}</text>
<text class="uni-common-mt" id="is-ref-count">isRef count: {{ isRefCount }}</text>
<text class="uni-common-mt" id="obj-num">obj.num: {{ obj.num }}</text>
<text class="uni-common-mt" id="to-value-obj-num">toValue(() => obj.num): {{ toValueObjNum }}</text>
<button class="uni-common-mt" id="increment-btn" @click="increment">increment obj.num</button>
</view>
</template>
<script setup>
const refCount = ref<number>(0);;
const isRefRefCount = isRef(refCount);
const count = toValue(refCount);
const isRefCount = isRef(count);
type Obj = {
num : number
}
const obj = reactive({
num: 0
} as Obj)
let toValueObjNum = toValue(() : number => obj.num)
const increment = () => {
obj.num++;
toValueObjNum++;
}
</script>
\ No newline at end of file
......@@ -141,7 +141,7 @@
{
name: 'toValue',
url: 'to-value',
enable: false,
enable: true,
},
{
name: 'toRefs',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册