UNPKG

@cmstops/pro-compo

Version:

[物料平台文档中心](https://arco.design/docs/material/guide)

30 lines (29 loc) 783 B
import { ref, computed } from "vue"; function useResourceSelect(props) { const selected = ref([]); const selectedKeys = computed( () => selected.value.map((item) => item.id || item.url) ); const disableSelect = 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 }; } export { useResourceSelect };