@zhsz/cool-design-crud
Version:
56 lines (55 loc) • 1.33 kB
JavaScript
import { defineComponent, createVNode, mergeProps } from "vue";
import "../../utils/test.mjs";
import { useCore, useTools } from "../../hooks/core.mjs";
import "clone-deep";
import "array.prototype.flat";
import "merge";
import "@formily/core";
import { omit, pickBy } from "lodash-es";
import "../../hooks/table.mjs";
import { Button } from "tdesign-vue-next";
import ButtonProps from "tdesign-vue-next/es/button/props";
const index = /* @__PURE__ */ defineComponent({
name: "cl-refresh-btn",
props: {
...ButtonProps,
theme: {
type: String,
default: "default"
},
variant: {
type: String,
default: "outline"
}
},
components: {
TdButton: Button
},
setup(props, {
slots
}) {
const {
crud
} = useCore();
const {
style
} = useTools();
return () => {
return createVNode(Button, mergeProps({
"size": style.size
}, omit(pickBy(props, (value) => value !== void 0), ["onClick"]), {
"onClick": () => {
var _a;
crud.refresh();
(_a = props == null ? void 0 : props.onClick) == null ? void 0 : _a.call(props, {});
}
}), {
default: slots.default ? slots.default() : () => crud.dict.label.refresh,
...slots
});
};
}
});
export {
index as default
};