chore: initialize qiming workspace repository
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<view class="l-tab__panel" aria-role="tabpanel">
|
||||
<slot/>
|
||||
</view>
|
||||
</template>
|
||||
<script lang="uts" setup>
|
||||
/**
|
||||
* TabPanel 标签页面板组件
|
||||
* @description 用于构建Tabs组件的单个内容面板,必须作为Tabs的子组件使用
|
||||
* <br>插件类型:LTabPanelComponentPublicInstance
|
||||
* @tutorial https://ext.dcloud.net.cn/plugin?name=lime-tabs
|
||||
*
|
||||
* @property {any} badge 徽标配置
|
||||
* @property {number[]} offset 徽标位置偏移量[x,y]
|
||||
* @property {boolean} dot 是否显示圆点徽标(默认:false)
|
||||
* @property {boolean} destroyOnHide 内容隐藏时销毁DOM(默认:false)
|
||||
* @property {boolean} disabled 禁用当前选项卡(默认:false)
|
||||
* @property {string} label 选项卡标题内容
|
||||
* @property {boolean} lazy 启用懒加载(默认:false)
|
||||
* @property {number} value 选项卡唯一标识
|
||||
*/
|
||||
|
||||
import { TabPanelProps } from './type';
|
||||
import { TabPanel } from '../l-tabs/type'
|
||||
const props = withDefaults(defineProps<TabPanelProps>(), {})
|
||||
const children = inject<LTabPanelComponentPublicInstance[]|null>('LimeTabs', null) as Ref<LTabPanelComponentPublicInstance[]>|null;
|
||||
const instance = getCurrentInstance()!.proxy!
|
||||
onMounted(()=>{
|
||||
if(children == null) return
|
||||
children.value.push(instance as LTabPanelComponentPublicInstance)
|
||||
})
|
||||
|
||||
|
||||
// #ifdef APP-ANDROID
|
||||
// 安卓端数组属性存在BUG 死循环
|
||||
const innderOffset = ref<any[]>([])
|
||||
watch((): any[]|null => props.offset, (n: any[]|null) => {
|
||||
if(innderOffset.value.join('') == n?.join('')) return
|
||||
innderOffset.value = n ?? []
|
||||
}, {immediate: true})
|
||||
|
||||
defineExpose({
|
||||
innderOffset
|
||||
})
|
||||
// #endif
|
||||
|
||||
|
||||
onUnmounted(()=>{
|
||||
if(children == null) return
|
||||
children.value = children.value.filter((it):boolean => it != (instance))
|
||||
})
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import './index';
|
||||
</style>
|
||||
Reference in New Issue
Block a user