import { useEditor } from "@/modules/editor"; import { css, cx } from "@linaria/core"; import { watch } from "vue"; import { string } from "vue-types"; import { useCompData } from "."; import { Text } from "../../../basicUI"; import { createUIComp } from "../../../defines/createUIComp"; export const Component = createUIComp({ props: { compId: string().isRequired, }, setup(props) { const { helper } = useEditor(); const { value } = useCompData(props.compId); watch( () => [value.columns], () => { const { columns, list } = value; const offset = columns - list.length; if (offset > 0) { Array.from({ length: offset }, () => { list.push({ label: "标题", content: "内容" }); }); } else { list.splice(columns, offset * -1); } } ); return () => (
{value.list.map((d) => (
))}
); }, }); const rootStyles = css` .label { position: relative; z-index: 1; .text { position: relative; z-index: 1; } &::before { content: ""; position: absolute; top: 0; left: 4%; width: 92%; height: 100%; background-color: #333; transform: skewX(347deg); z-index: 0; } } `;