[新增] progress 进度条组件
This commit is contained in:
parent
1cee98414e
commit
d7e6036cbc
@ -22,7 +22,7 @@
|
|||||||
class="control"
|
class="control"
|
||||||
@click="toggleShow"
|
@click="toggleShow"
|
||||||
>
|
>
|
||||||
<i :class="[show ? 'el-icon-caret-top' : 'el-icon-caret-bottom']" />
|
<i :class="[show ? 'layui-icon layui-icon-up' : 'layui-icon layui-icon-down']" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -124,6 +124,7 @@ function handleScroll() {
|
|||||||
.lay-code .control {
|
.lay-code .control {
|
||||||
height: 44px;
|
height: 44px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
margin-top: 10px;
|
||||||
border-top: 1px solid whitesmoke;
|
border-top: 1px solid whitesmoke;
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
|
@ -13,6 +13,7 @@ import LayHeader from "./module/header/index"
|
|||||||
import LayFooter from "./module/footer/index"
|
import LayFooter from "./module/footer/index"
|
||||||
import LayLogo from "./module/logo/index"
|
import LayLogo from "./module/logo/index"
|
||||||
import LayPanel from "./module/panel/index"
|
import LayPanel from "./module/panel/index"
|
||||||
|
import LayProgress from "./module/panel/index"
|
||||||
|
|
||||||
const components: Record<string, IDefineComponent> = {
|
const components: Record<string, IDefineComponent> = {
|
||||||
LayRadio,
|
LayRadio,
|
||||||
@ -25,7 +26,8 @@ const components: Record<string, IDefineComponent> = {
|
|||||||
LayFooter,
|
LayFooter,
|
||||||
LayLogo,
|
LayLogo,
|
||||||
LayPanel,
|
LayPanel,
|
||||||
LayCard
|
LayCard,
|
||||||
|
LayProgress
|
||||||
}
|
}
|
||||||
|
|
||||||
const install = (app: App, options?: InstallOptions): void => {
|
const install = (app: App, options?: InstallOptions): void => {
|
||||||
@ -50,6 +52,7 @@ export {
|
|||||||
LayLogo,
|
LayLogo,
|
||||||
LayPanel,
|
LayPanel,
|
||||||
LayCard,
|
LayCard,
|
||||||
|
LayProgress,
|
||||||
install,
|
install,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layui-col">
|
<div class="layui-col" :class="[md?'layui-col-md' + md : '', xs?'layui-col-xs':'', sm?'layui-col-sm':'']">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="LayCol" lang="ts">
|
<script setup name="LayCol" lang="ts">
|
||||||
|
import { defineProps } from '@vue/runtime-core'
|
||||||
|
|
||||||
|
const props =
|
||||||
|
defineProps<{
|
||||||
|
md?: string
|
||||||
|
xs?: string
|
||||||
|
sm?: string
|
||||||
|
}>()
|
||||||
</script>
|
</script>
|
9
src/module/progress/index.ts
Normal file
9
src/module/progress/index.ts
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import type { App } from 'vue'
|
||||||
|
import Component from './index.vue'
|
||||||
|
import type { IDefineComponent } from '../type/index'
|
||||||
|
|
||||||
|
Component.install = (app: App) => {
|
||||||
|
app.component(Component.name || 'LayProgress', Component)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Component as IDefineComponent
|
31
src/module/progress/index.vue
Normal file
31
src/module/progress/index.vue
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<template>
|
||||||
|
<div class="layui-progress" :class="'layui-progress-' + size">
|
||||||
|
<div
|
||||||
|
class="layui-progress-bar"
|
||||||
|
:class="'layui-bg-' + this.theme"
|
||||||
|
:style="[
|
||||||
|
this.color ? 'background-color: ' + this.color : '',
|
||||||
|
{
|
||||||
|
width: this.percentage + '%',
|
||||||
|
},
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
<span v-if="showText" class="layui-progress-text">
|
||||||
|
{{ text ? text : this.percentage + '%' }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup name="LayProgress" lang="ts">
|
||||||
|
import { defineProps } from '@vue/runtime-core'
|
||||||
|
|
||||||
|
const props =
|
||||||
|
defineProps<{
|
||||||
|
percentage: Number
|
||||||
|
theme: String
|
||||||
|
color: String
|
||||||
|
size: String
|
||||||
|
showText: Boolean
|
||||||
|
text: String
|
||||||
|
}>()
|
||||||
|
</script>
|
@ -1,9 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layui-row">
|
<div class="layui-row" :class="[space?'layui-col-space'+space:'']">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="LayRow" lang="ts">
|
<script setup name="LayRow" lang="ts">
|
||||||
|
import { defineProps } from '@vue/runtime-core'
|
||||||
|
|
||||||
|
const props =
|
||||||
|
defineProps<{
|
||||||
|
space?: string
|
||||||
|
}>()
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user