✨(component): 同步 next 改动
This commit is contained in:
parent
0cce0587f6
commit
9d46063321
@ -8,19 +8,21 @@
|
|||||||
:trigger="trigger"
|
:trigger="trigger"
|
||||||
:autoFitMinWidth="false"
|
:autoFitMinWidth="false"
|
||||||
:updateAtScroll="true"
|
:updateAtScroll="true"
|
||||||
|
:contentClass="contentClass"
|
||||||
|
:contentStyle="contentStyle"
|
||||||
:disabled="dropDownDisabled"
|
:disabled="dropDownDisabled"
|
||||||
@show="openState = true"
|
@show="openState = true"
|
||||||
@hide="openState = false"
|
@hide="openState = false"
|
||||||
>
|
>
|
||||||
<lay-input
|
<lay-input
|
||||||
|
v-if="!slots.default"
|
||||||
v-model="displayValue"
|
v-model="displayValue"
|
||||||
readonly
|
|
||||||
suffix-icon="layui-icon-triangle-d"
|
suffix-icon="layui-icon-triangle-d"
|
||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
v-if="!slots.default"
|
|
||||||
:allow-clear="allowClear"
|
:allow-clear="allowClear"
|
||||||
@clear="onClear"
|
:readonly="true"
|
||||||
:size="size"
|
:size="size"
|
||||||
|
@clear="onClear"
|
||||||
></lay-input>
|
></lay-input>
|
||||||
<slot v-else></slot>
|
<slot v-else></slot>
|
||||||
|
|
||||||
@ -73,7 +75,7 @@ import "./index.less";
|
|||||||
import LayInput from "../input/index.vue";
|
import LayInput from "../input/index.vue";
|
||||||
import LayScroll from "../scroll/index.vue";
|
import LayScroll from "../scroll/index.vue";
|
||||||
import LayDropdown from "../dropdown/index.vue";
|
import LayDropdown from "../dropdown/index.vue";
|
||||||
import { ref, onMounted, watch, useSlots } from "vue";
|
import { ref, onMounted, watch, useSlots, StyleValue } from "vue";
|
||||||
import { CascaderSize } from "./interface";
|
import { CascaderSize } from "./interface";
|
||||||
|
|
||||||
export type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu";
|
export type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu";
|
||||||
@ -88,6 +90,8 @@ export interface CascaderProps {
|
|||||||
allowClear?: boolean;
|
allowClear?: boolean;
|
||||||
size?: CascaderSize;
|
size?: CascaderSize;
|
||||||
trigger?: DropdownTrigger | DropdownTrigger[];
|
trigger?: DropdownTrigger | DropdownTrigger[];
|
||||||
|
contentClass?: string | Array<string | object> | object;
|
||||||
|
contentStyle?: StyleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<CascaderProps>(), {
|
const props = withDefaults(defineProps<CascaderProps>(), {
|
||||||
@ -107,6 +111,7 @@ const props = withDefaults(defineProps<CascaderProps>(), {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(["update:modelValue", "change", "clear"]);
|
const emit = defineEmits(["update:modelValue", "change", "clear"]);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
@ -8,13 +8,16 @@ export default {
|
|||||||
import "./index.less";
|
import "./index.less";
|
||||||
import LayDropdown from "../dropdown/index.vue";
|
import LayDropdown from "../dropdown/index.vue";
|
||||||
import EyeDropper from "./EyeDropper.vue";
|
import EyeDropper from "./EyeDropper.vue";
|
||||||
import { ref, computed, watch, onMounted } from "vue";
|
import { ref, computed, watch, onMounted, StyleValue } from "vue";
|
||||||
import { useEyeDropper } from "@vueuse/core";
|
import { useEyeDropper } from "@vueuse/core";
|
||||||
|
|
||||||
export interface ColorPicker {
|
export interface ColorPicker {
|
||||||
modelValue?: any;
|
modelValue?: any;
|
||||||
preset?: any;
|
preset?: any;
|
||||||
|
disabled?: boolean;
|
||||||
eyeDropper?: boolean;
|
eyeDropper?: boolean;
|
||||||
|
contentClass?: string | Array<string | object> | object;
|
||||||
|
contentStyle?: StyleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const emit = defineEmits(["update:modelValue"]);
|
const emit = defineEmits(["update:modelValue"]);
|
||||||
@ -22,6 +25,7 @@ const emit = defineEmits(["update:modelValue"]);
|
|||||||
const props = withDefaults(defineProps<ColorPicker>(), {
|
const props = withDefaults(defineProps<ColorPicker>(), {
|
||||||
modelValue: { r: 255, g: 255, b: 255, a: 1 },
|
modelValue: { r: 255, g: 255, b: 255, a: 1 },
|
||||||
preset: ["#009688", "#1e9fff", "#ffb800", "#ff5722", "#5fb878"],
|
preset: ["#009688", "#1e9fff", "#ffb800", "#ff5722", "#5fb878"],
|
||||||
|
disabled: false
|
||||||
});
|
});
|
||||||
|
|
||||||
const saturationValue = ref<null | HTMLElement>(null);
|
const saturationValue = ref<null | HTMLElement>(null);
|
||||||
@ -401,7 +405,11 @@ function hex2rgba(s: any) {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<lay-dropdown updateAtScroll>
|
<lay-dropdown
|
||||||
|
:disabled="disabled"
|
||||||
|
:contentClass="contentClass"
|
||||||
|
:contentStyle="contentStyle"
|
||||||
|
updateAtScroll>
|
||||||
<div class="layui-unselect layui-colorpicker">
|
<div class="layui-unselect layui-colorpicker">
|
||||||
<span>
|
<span>
|
||||||
<span
|
<span
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
</lay-dropdown>
|
</lay-dropdown>
|
||||||
<lay-dropdown ref="dropdownMonthPanelRefRight">
|
<lay-dropdown ref="dropdownMonthPanelRefRight">
|
||||||
<span class="laydate-range-time"
|
<span class="laydate-range-time"
|
||||||
>{{ startTime.month + 2 }}月</span
|
>{{ startTime.month + 2 > 12 ? startTime.month - 10 : startTime.month + 2 }}月</span
|
||||||
>
|
>
|
||||||
<template #content>
|
<template #content>
|
||||||
<MonthPanel
|
<MonthPanel
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
ref="dropdownRef"
|
ref="dropdownRef"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:autoFitMinWidth="false"
|
:autoFitMinWidth="false"
|
||||||
|
:contentClass="contentClass"
|
||||||
|
:contentStyle="contentStyle"
|
||||||
updateAtScroll
|
updateAtScroll
|
||||||
>
|
>
|
||||||
<lay-input
|
<lay-input
|
||||||
@ -109,7 +111,7 @@ import { LayIcon } from "@layui/icons-vue";
|
|||||||
import LayInput from "../input/index.vue";
|
import LayInput from "../input/index.vue";
|
||||||
import LayDropdown from "../dropdown/index.vue";
|
import LayDropdown from "../dropdown/index.vue";
|
||||||
import { getMonth, getYear, getDay } from "./day";
|
import { getMonth, getYear, getDay } from "./day";
|
||||||
import { ref, watch, defineProps, defineEmits, reactive, provide } from "vue";
|
import { ref, watch, defineProps, defineEmits, reactive, provide, StyleValue } from "vue";
|
||||||
import DatePanel from "./components/DatePanel.vue";
|
import DatePanel from "./components/DatePanel.vue";
|
||||||
import TimePanel from "./components/TimePanel.vue";
|
import TimePanel from "./components/TimePanel.vue";
|
||||||
import YearPanel from "./components/YearPanel.vue";
|
import YearPanel from "./components/YearPanel.vue";
|
||||||
@ -134,6 +136,8 @@ export interface DatePickerProps {
|
|||||||
prefixIcon?: string;
|
prefixIcon?: string;
|
||||||
suffixIcon?: string;
|
suffixIcon?: string;
|
||||||
timestamp?: boolean;
|
timestamp?: boolean;
|
||||||
|
contentClass?: string | Array<string | object> | object;
|
||||||
|
contentStyle?: StyleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<DatePickerProps>(), {
|
const props = withDefaults(defineProps<DatePickerProps>(), {
|
||||||
|
@ -6,7 +6,7 @@ export default {
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
import { computed, Ref, ref, watch } from "vue";
|
import { computed, Ref, ref, StyleValue } from "vue";
|
||||||
import { LayIconList as icons } from "@layui/icons-vue";
|
import { LayIconList as icons } from "@layui/icons-vue";
|
||||||
import LayDropdown from "../dropdown/index.vue";
|
import LayDropdown from "../dropdown/index.vue";
|
||||||
import LayInput from "../input/index.vue";
|
import LayInput from "../input/index.vue";
|
||||||
@ -15,11 +15,15 @@ import LayScroll from "../scroll/index.vue";
|
|||||||
export interface IconPickerProps {
|
export interface IconPickerProps {
|
||||||
page?: boolean;
|
page?: boolean;
|
||||||
modelValue?: string;
|
modelValue?: string;
|
||||||
|
disabled?: boolean;
|
||||||
showSearch?: boolean;
|
showSearch?: boolean;
|
||||||
|
contentClass?: string | Array<string | object> | object;
|
||||||
|
contentStyle?: StyleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<IconPickerProps>(), {
|
const props = withDefaults(defineProps<IconPickerProps>(), {
|
||||||
modelValue: "layui-icon-face-smile",
|
modelValue: "layui-icon-face-smile",
|
||||||
|
disabled: false,
|
||||||
page: false,
|
page: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -134,7 +138,12 @@ const searchList = (str: string, container: any) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<lay-dropdown ref="dropdownRef" updateAtScroll>
|
<lay-dropdown
|
||||||
|
ref="dropdownRef"
|
||||||
|
:disabled="disabled"
|
||||||
|
:contentClass="contentClass"
|
||||||
|
:contentStyle="contentStyle"
|
||||||
|
updateAtScroll>
|
||||||
<div
|
<div
|
||||||
class="layui-inline layui-border-box layui-iconpicker layui-iconpicker-split"
|
class="layui-inline layui-border-box layui-iconpicker layui-iconpicker-split"
|
||||||
>
|
>
|
||||||
|
@ -17,6 +17,7 @@ import {
|
|||||||
Component,
|
Component,
|
||||||
watch,
|
watch,
|
||||||
onUnmounted,
|
onUnmounted,
|
||||||
|
StyleValue,
|
||||||
} from "vue";
|
} from "vue";
|
||||||
import { LayIcon } from "@layui/icons-vue";
|
import { LayIcon } from "@layui/icons-vue";
|
||||||
import LayInput from "../input/index.vue";
|
import LayInput from "../input/index.vue";
|
||||||
@ -40,6 +41,8 @@ export interface SelectProps {
|
|||||||
minCollapsedNum?: number;
|
minCollapsedNum?: number;
|
||||||
allowClear?: boolean;
|
allowClear?: boolean;
|
||||||
showSearch?: boolean;
|
showSearch?: boolean;
|
||||||
|
contentClass?: string | Array<string | object> | object;
|
||||||
|
contentStyle?: StyleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SelectEmits {
|
export interface SelectEmits {
|
||||||
@ -179,6 +182,8 @@ provide("multiple", multiple);
|
|||||||
<lay-dropdown
|
<lay-dropdown
|
||||||
ref="selectRef"
|
ref="selectRef"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
:contentClass="contentClass"
|
||||||
|
:contentStyle="contentStyle"
|
||||||
:update-at-scroll="true"
|
:update-at-scroll="true"
|
||||||
@show="openState = true"
|
@show="openState = true"
|
||||||
@hide="openState = false"
|
@hide="openState = false"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<script lang="tsx">
|
<script lang="ts">
|
||||||
import "./index.less";
|
import "./index.less";
|
||||||
import {
|
import {
|
||||||
computed,
|
computed,
|
||||||
@ -10,7 +10,8 @@ import {
|
|||||||
StyleValue,
|
StyleValue,
|
||||||
defineComponent,
|
defineComponent,
|
||||||
PropType,
|
PropType,
|
||||||
VNodeNormalizedChildren,
|
h,
|
||||||
|
renderSlot,
|
||||||
} from "vue";
|
} from "vue";
|
||||||
|
|
||||||
type SpaceSize = "lg" | "md" | "sm" | "xs" | number | string;
|
type SpaceSize = "lg" | "md" | "sm" | "xs" | number | string;
|
||||||
@ -18,28 +19,23 @@ type SpaceSize = "lg" | "md" | "sm" | "xs" | number | string;
|
|||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "LaySpace",
|
name: "LaySpace",
|
||||||
props: {
|
props: {
|
||||||
/* 对齐方式 */
|
|
||||||
align: {
|
align: {
|
||||||
type: String as PropType<"start" | "end" | "center" | "baseline">,
|
type: String as PropType<"start" | "end" | "center" | "baseline">,
|
||||||
},
|
},
|
||||||
/* 间距方向 */
|
|
||||||
direction: {
|
direction: {
|
||||||
type: String as PropType<"horizontal" | "vertical">,
|
type: String as PropType<"horizontal" | "vertical">,
|
||||||
default: "horizontal",
|
default: "horizontal",
|
||||||
},
|
},
|
||||||
/* 子元素是否填充父容器 */
|
|
||||||
fill: {
|
fill: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
/* 间距大小 */
|
|
||||||
size: {
|
size: {
|
||||||
type: [Number, String, Array] as PropType<
|
type: [Number, String, Array] as PropType<
|
||||||
SpaceSize | [SpaceSize, SpaceSize]
|
SpaceSize | [SpaceSize, SpaceSize]
|
||||||
>,
|
>,
|
||||||
default: "sm",
|
default: "sm",
|
||||||
},
|
},
|
||||||
/* 是否自动折行 */
|
|
||||||
wrap: {
|
wrap: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
@ -51,10 +47,52 @@ export default defineComponent({
|
|||||||
() => props.align ?? (props.direction === "horizontal" ? "center" : "")
|
() => props.align ?? (props.direction === "horizontal" ? "center" : "")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const spaceClass = computed(() => [
|
||||||
|
"layui-space",
|
||||||
|
{
|
||||||
|
[`layui-space-align-${computAlign.value}`]: computAlign.value,
|
||||||
|
[`layui-space-${props.direction}`]: props.direction,
|
||||||
|
[`layui-space-wrap`]: props.wrap,
|
||||||
|
[`layui-space-fill`]: props.fill,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const spaceStyle = computed<StyleValue>(() => {
|
||||||
|
const sizeMap = { xs: "4px", sm: "8px", md: "16px", lg: "24px" };
|
||||||
|
let gap = "";
|
||||||
|
|
||||||
|
if (Array.isArray(props.size)) {
|
||||||
|
gap = props.size
|
||||||
|
.map((size) => {
|
||||||
|
if (typeof size === "number") {
|
||||||
|
return `${size}px`;
|
||||||
|
}
|
||||||
|
if (typeof size === "string") {
|
||||||
|
return sizeMap[size as keyof Omit<SpaceSize, number>] || size;
|
||||||
|
}
|
||||||
|
return size;
|
||||||
|
})
|
||||||
|
.join(" ");
|
||||||
|
} else if (typeof props.size === "string") {
|
||||||
|
gap =
|
||||||
|
sizeMap[props.size as keyof Omit<SpaceSize, string | number>] ||
|
||||||
|
props.size;
|
||||||
|
} else if (typeof props.size === "number") {
|
||||||
|
gap = `${props.size}px`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
gap,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
const itemStyle = computed<StyleValue>(() => [
|
||||||
|
props.fill ? { flexGrow: 1, minWidth: "100%" } : {},
|
||||||
|
]);
|
||||||
|
|
||||||
const extractChildren = () => {
|
const extractChildren = () => {
|
||||||
const result: VNode[] = [];
|
const result: VNode[] = [];
|
||||||
const children =
|
const children = renderSlot(slots, "default").children;
|
||||||
slots.default && (slots?.default() as VNodeNormalizedChildren);
|
|
||||||
const elementData = Array.isArray(children) ? [...children] : [];
|
const elementData = Array.isArray(children) ? [...children] : [];
|
||||||
|
|
||||||
while (elementData.length) {
|
while (elementData.length) {
|
||||||
@ -80,67 +118,26 @@ export default defineComponent({
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
const spaceClass = computed(() => [
|
|
||||||
"layui-space",
|
|
||||||
{
|
|
||||||
[`layui-space-align-${computAlign.value}`]: computAlign.value,
|
|
||||||
[`layui-space-${props.direction}`]: props.direction,
|
|
||||||
[`layui-space-wrap`]: props.wrap,
|
|
||||||
[`layui-space-fill`]: props.fill,
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
const spaceStyle = computed<StyleValue>(() => {
|
|
||||||
const sizeMap = { xs: "4px", sm: "8px", md: "16px", lg: "24px" };
|
|
||||||
let gap = "";
|
|
||||||
|
|
||||||
if (Array.isArray(props.size)) {
|
|
||||||
gap = props.size
|
|
||||||
.map((size) => {
|
|
||||||
if (typeof size === "number") {
|
|
||||||
return `${size}px`;
|
|
||||||
}
|
|
||||||
if (typeof size === "string") {
|
|
||||||
return (
|
|
||||||
sizeMap[props.size as keyof Omit<SpaceSize, number>] || size
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return size;
|
|
||||||
})
|
|
||||||
.join(" ");
|
|
||||||
} else if (typeof props.size === "string") {
|
|
||||||
gap =
|
|
||||||
sizeMap[props.size as keyof Omit<SpaceSize, string>] || props.size;
|
|
||||||
} else if (typeof props.size === "number") {
|
|
||||||
gap = `${props.size}px`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
gap,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
const itemStyle = computed<StyleValue>(() => [
|
|
||||||
props.fill ? { flexGrow: 1, minWidth: "100%" } : {},
|
|
||||||
]);
|
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
const children = extractChildren();
|
const children = extractChildren();
|
||||||
|
|
||||||
return (
|
return h(
|
||||||
<div class={spaceClass.value} style={spaceStyle.value}>
|
"div",
|
||||||
{children.map((child, index) => {
|
{
|
||||||
return (
|
class: spaceClass.value,
|
||||||
<div
|
style: spaceStyle.value,
|
||||||
key={`item-${index}`}
|
},
|
||||||
class="layui-space-item"
|
children.map((child, index) => {
|
||||||
style={itemStyle.value}
|
return h(
|
||||||
>
|
"div",
|
||||||
{child}
|
{
|
||||||
</div>
|
key: child.key ?? `item-${index}`,
|
||||||
);
|
class: "layui-space-item",
|
||||||
})}
|
style: itemStyle.value,
|
||||||
</div>
|
},
|
||||||
|
h(child)
|
||||||
|
);
|
||||||
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -32,7 +32,7 @@ export interface TableProps {
|
|||||||
page?: Recordable;
|
page?: Recordable;
|
||||||
columns: Recordable[];
|
columns: Recordable[];
|
||||||
dataSource: Recordable[];
|
dataSource: Recordable[];
|
||||||
defaultToolbar?: boolean;
|
defaultToolbar?: boolean | Recordable[];
|
||||||
selectedKey?: string;
|
selectedKey?: string;
|
||||||
selectedKeys?: Recordable[];
|
selectedKeys?: Recordable[];
|
||||||
indentSize?: number;
|
indentSize?: number;
|
||||||
|
12
package/component/src/utils/uuidUtil.ts
Normal file
12
package/component/src/utils/uuidUtil.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
export function nextId() {
|
||||||
|
var s: any = [];
|
||||||
|
var hexDigits = "0123456789abcdef";
|
||||||
|
for (var i = 0; i < 36; i++) {
|
||||||
|
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
|
||||||
|
}
|
||||||
|
s[14] = "4";
|
||||||
|
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
|
||||||
|
s[8] = s[13] = s[18] = s[23] = "-";
|
||||||
|
var uuid = s.join("");
|
||||||
|
return uuid;
|
||||||
|
}
|
@ -26,6 +26,31 @@ export default {
|
|||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
::: title 禁止选择
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: demo 使用 `lay-color-picker` 标签, 创建颜色选择器。
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<lay-color-picker v-model="color" :disabled="true"></lay-color-picker>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
setup() {
|
||||||
|
const color = ref("#009688");
|
||||||
|
|
||||||
|
return {
|
||||||
|
color
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
::: title 预设颜色
|
::: title 预设颜色
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -33,6 +33,32 @@ export default {
|
|||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
::: title 禁用选择
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: demo 使用 lay-icon-picker 标签, 创建图标选择器
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<lay-icon-picker v-model="icon" :disabled="true"></lay-icon-picker>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ref } from 'vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
setup() {
|
||||||
|
|
||||||
|
const icon = ref("layui-icon-home")
|
||||||
|
|
||||||
|
return {
|
||||||
|
icon
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
::: title 开启分页
|
::: title 开启分页
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -11,6 +11,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<lay-timeline>
|
<lay-timeline>
|
||||||
<lay-timeline-item title="1.6.x">
|
<lay-timeline-item title="1.6.x">
|
||||||
|
<ul>
|
||||||
|
<a name="1-6-10"></a>
|
||||||
|
<li>
|
||||||
|
<h3>1.6.10 <span class="layui-badge-rim">2022-10-21</span></h3>
|
||||||
|
<ul>
|
||||||
|
<li>[新增] select 组件 contentClass 属性, 用于自定义内容区域 class 属性。</li>
|
||||||
|
<li>[新增] select 组件 contentStyle 属性, 用于自定义内容区域 style 属性。</li>
|
||||||
|
<li>[新增] icon-picker 组件 disabled 属性, 禁用图标选择。</li>
|
||||||
|
<li>[新增] icon-picker 组件 contentClass 属性, 用于自定义内容区域 class 属性。</li>
|
||||||
|
<li>[新增] icon-picker 组件 contentStyle 属性, 用于自定义内容区域 style 属性。</li>
|
||||||
|
<li>[新增] color-picker 组件 disabled 属性, 禁用图标选择。</li>
|
||||||
|
<li>[新增] color-picker 组件 contentClass 属性, 用于自定义内容区域 class 属性。</li>
|
||||||
|
<li>[新增] color-picker 组件 contentStyle 属性, 用于自定义内容区域 style 属性。</li>
|
||||||
|
<li>[新增] cascader 组件 contentClass 属性, 用于自定义内容区域 class 属性。</li>
|
||||||
|
<li>[新增] cascader 组件 contentStyle 属性, 用于自定义内容区域 style 属性。</li>
|
||||||
|
<li>[新增] date-picker 组件 contentClass 属性, 用于自定义内容区域 class 属性。</li>
|
||||||
|
<li>[新增] date-picker 组件 contentStyle 属性, 用于自定义内容区域 style 属性。</li>
|
||||||
|
<li>[修复] date-picker 组件 type 属性为 date 值, range 属性为 true 时, 结束月份出现 13 月的问题。</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<a name="1-6-9"></a>
|
<a name="1-6-9"></a>
|
||||||
<li>
|
<li>
|
||||||
|
Loading…
Reference in New Issue
Block a user