UNPKG

birdpaper-ui

Version:

一个通用的 vue3 UI组件库。A common vue3 UI component library.

58 lines (57 loc) 2.25 kB
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, createElementVNode, renderList, normalizeClass, toDisplayString } from "vue"; import _sfc_main$1 from "./col-group.vue.js"; const _hoisted_1 = { class: "bp-table-header-thead" }; const __default__ = defineComponent({ name: "TableHeader" }); const _sfc_main = /* @__PURE__ */ defineComponent({ ...__default__, props: { headerList: { type: Array, default: () => [] } }, emits: ["on-select-all"], setup(__props, { expose: __expose, emit: emits }) { const thClass = (item) => { let align = `text-${item["headerAlign"] || item["align"] || "left"}`; let name = ["bp-table-th", align]; return name; }; const isSelectAll = ref(false); const onSelectChange = () => { emits("on-select-all", isSelectAll.value); }; __expose({ isSelectAll }); return (_ctx, _cache) => { const _component_bp_checkbox = resolveComponent("bp-checkbox"); return openBlock(), createElementBlock(Fragment, null, [ createVNode(_sfc_main$1, { cols: __props.headerList }, null, 8, ["cols"]), createElementVNode("thead", _hoisted_1, [ createElementVNode("tr", null, [ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.headerList, (item) => { return openBlock(), createElementBlock(Fragment, null, [ item.type === "checkbox" ? (openBlock(), createElementBlock("th", { key: 0, class: normalizeClass(thClass(item)) }, [ createVNode(_component_bp_checkbox, { modelValue: isSelectAll.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isSelectAll.value = $event), onChange: onSelectChange }, null, 8, ["modelValue"]) ], 2)) : (openBlock(), createElementBlock("th", { key: 1, class: normalizeClass(thClass(item)) }, toDisplayString(item.title), 3)) ], 64); }), 256)) ]) ]) ], 64); }; } }); export { _sfc_main as default };