mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-06 16:37:18 +08:00
feat: 添加颜色选择器组件示例
This commit is contained in:
parent
3eaf520a37
commit
99e9828e8d
@ -56,6 +56,7 @@ menus:
|
|||||||
hscontextmenu: Context Menu
|
hscontextmenu: Context Menu
|
||||||
hstypeit: Typeit
|
hstypeit: Typeit
|
||||||
hsjsoneditor: JSON Editor
|
hsjsoneditor: JSON Editor
|
||||||
|
hsColorPicker: Color Picker
|
||||||
hsmenus: MultiLevel Menu
|
hsmenus: MultiLevel Menu
|
||||||
hsmenu1: Menu1
|
hsmenu1: Menu1
|
||||||
hsmenu1-1: Menu1-1
|
hsmenu1-1: Menu1-1
|
||||||
|
@ -56,6 +56,7 @@ menus:
|
|||||||
hscontextmenu: 右键菜单
|
hscontextmenu: 右键菜单
|
||||||
hstypeit: 打字机
|
hstypeit: 打字机
|
||||||
hsjsoneditor: JSON编辑器
|
hsjsoneditor: JSON编辑器
|
||||||
|
hsColorPicker: 颜色选择器
|
||||||
hsmenus: 多级菜单
|
hsmenus: 多级菜单
|
||||||
hsmenu1: 菜单1
|
hsmenu1: 菜单1
|
||||||
hsmenu1-1: 菜单1-1
|
hsmenu1-1: 菜单1-1
|
||||||
|
@ -91,6 +91,14 @@ export default {
|
|||||||
title: $t("menus.hsCascader")
|
title: $t("menus.hsCascader")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/components/color-picker",
|
||||||
|
name: "ColorPicker",
|
||||||
|
component: () => import("@/views/components/color-picker.vue"),
|
||||||
|
meta: {
|
||||||
|
title: $t("menus.hsColorPicker")
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/components/selector",
|
path: "/components/selector",
|
||||||
name: "Selector",
|
name: "Selector",
|
||||||
|
96
src/views/components/color-picker.vue
Normal file
96
src/views/components/color-picker.vue
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, watch } from "vue";
|
||||||
|
|
||||||
|
defineOptions({
|
||||||
|
name: "ColorPicker"
|
||||||
|
});
|
||||||
|
|
||||||
|
const size = ref("default");
|
||||||
|
const dynamicSize = ref();
|
||||||
|
const isOpen = ref(false);
|
||||||
|
const colorPickerRef = ref();
|
||||||
|
|
||||||
|
const color = ref("rgba(255, 69, 0, 0.68)");
|
||||||
|
const otherColor = ref("hsla(209, 100%, 56%, 0.73)");
|
||||||
|
const predefineColors = ref([
|
||||||
|
"#ff4500",
|
||||||
|
"#ff8c00",
|
||||||
|
"#ffd700",
|
||||||
|
"#90ee90",
|
||||||
|
"#00ced1",
|
||||||
|
"#1e90ff",
|
||||||
|
"#c71585",
|
||||||
|
"rgba(255, 69, 0, 0.68)",
|
||||||
|
"rgb(255, 120, 0)",
|
||||||
|
"hsv(51, 100, 98)",
|
||||||
|
"hsva(120, 40, 94, 0.5)",
|
||||||
|
"hsl(181, 100%, 37%)",
|
||||||
|
"hsla(209, 100%, 56%, 0.73)",
|
||||||
|
"#c7158577"
|
||||||
|
]);
|
||||||
|
|
||||||
|
watch(size, val =>
|
||||||
|
val === "disabled"
|
||||||
|
? (dynamicSize.value = "default")
|
||||||
|
: (dynamicSize.value = size.value)
|
||||||
|
);
|
||||||
|
|
||||||
|
function onClick() {
|
||||||
|
isOpen.value ? colorPickerRef.value.hide() : colorPickerRef.value.show();
|
||||||
|
isOpen.value = !isOpen.value;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-card shadow="never">
|
||||||
|
<template #header>
|
||||||
|
<div class="card-header">
|
||||||
|
<span class="font-medium">
|
||||||
|
<el-link
|
||||||
|
href="https://element-plus.org/zh-CN/component/color-picker.html"
|
||||||
|
target="_blank"
|
||||||
|
style="margin: 0 4px 5px; font-size: 16px"
|
||||||
|
>
|
||||||
|
颜色选择器
|
||||||
|
</el-link>
|
||||||
|
<br />
|
||||||
|
<el-radio-group v-model="size" size="small">
|
||||||
|
<el-radio label="large">大尺寸</el-radio>
|
||||||
|
<el-radio label="default">默认尺寸</el-radio>
|
||||||
|
<el-radio label="small">小尺寸</el-radio>
|
||||||
|
<el-radio label="disabled">禁用</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<p class="mb-2">不同尺寸、选择透明度、预定义颜色</p>
|
||||||
|
<el-color-picker
|
||||||
|
v-model="color"
|
||||||
|
show-alpha
|
||||||
|
:predefine="predefineColors"
|
||||||
|
:size="dynamicSize"
|
||||||
|
:disabled="size === 'disabled'"
|
||||||
|
/>
|
||||||
|
<el-divider />
|
||||||
|
|
||||||
|
<p class="mb-2">外部触发器</p>
|
||||||
|
<el-space wrap>
|
||||||
|
<el-color-picker
|
||||||
|
ref="colorPickerRef"
|
||||||
|
v-model="otherColor"
|
||||||
|
show-alpha
|
||||||
|
:predefine="predefineColors"
|
||||||
|
:size="dynamicSize"
|
||||||
|
:disabled="size === 'disabled'"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
:size="dynamicSize"
|
||||||
|
:disabled="size === 'disabled'"
|
||||||
|
@click="onClick"
|
||||||
|
>
|
||||||
|
{{ isOpen ? "关闭" : "打开" }}
|
||||||
|
</el-button>
|
||||||
|
</el-space>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
Loading…
x
Reference in New Issue
Block a user