@cmstops/pro-compo
Version:
[物料平台文档中心](https://arco.design/docs/material/guide)
32 lines (31 loc) • 925 B
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
var vue = require("vue");
function useResourceSelect(props) {
const selected = vue.ref([]);
const selectedKeys = vue.computed(
() => selected.value.map((item) => item.id || item.url)
);
const disableSelect = vue.computed(() => props.maxcount && selected.value.length >= props.maxcount);
function handleSelect(params) {
const { id, url } = params;
const index = selected.value.findIndex((item) => {
return item.id && item.id === id || item.url === url;
});
if (index > -1)
selected.value.splice(index, 1);
else
selected.value.push(params);
}
function handleClear() {
selected.value = [];
}
return {
selected,
selectedKeys,
disableSelect,
handleSelect,
handleClear
};
}
exports.useResourceSelect = useResourceSelect;