|
@@ -1,7 +1,7 @@
|
|
import { IconPalette } from "@/assets/icons";
|
|
import { IconPalette } from "@/assets/icons";
|
|
import { css } from "@linaria/core";
|
|
import { css } from "@linaria/core";
|
|
import { Popover } from "ant-design-vue";
|
|
import { Popover } from "ant-design-vue";
|
|
-import { defineComponent, reactive } from "vue";
|
|
|
|
|
|
+import { defineComponent, reactive, watch } from "vue";
|
|
import { any, bool } from "vue-types";
|
|
import { any, bool } from "vue-types";
|
|
import ColorLib from "./ColorLib";
|
|
import ColorLib from "./ColorLib";
|
|
import { formatColor, gradientColorType } from "./ColorList";
|
|
import { formatColor, gradientColorType } from "./ColorList";
|
|
@@ -21,13 +21,19 @@ export default defineComponent({
|
|
const state = reactive({
|
|
const state = reactive({
|
|
color: color || "#ffffff",
|
|
color: color || "#ffffff",
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+ watch(
|
|
|
|
+ () => props.value,
|
|
|
|
+ () => {
|
|
|
|
+ const color = getColor();
|
|
|
|
+ state.color = color;
|
|
|
|
+ }
|
|
|
|
+ );
|
|
function getColor() {
|
|
function getColor() {
|
|
if (typeof props.value == "string") {
|
|
if (typeof props.value == "string") {
|
|
const colorObj = Color(props.value);
|
|
const colorObj = Color(props.value);
|
|
return colorObj.hex();
|
|
return colorObj.hex();
|
|
} else {
|
|
} else {
|
|
- return props.value;
|
|
|
|
|
|
+ return props.value || "#ffffff";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|