UNPKG

antd-multi-asl-cascader

Version:

A multiple cascader component for antd

23 lines (22 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = tslib_1.__importStar(require("react")); const antd_1 = require("antd"); const utils_1 = require("../libs/utils"); const container_1 = tslib_1.__importDefault(require("../container")); exports.default = react_1.default.memo((props) => { const { node } = props; const { value: containerValue, handleSelectChange, } = container_1.default.useContainer(); const handleClick = react_1.useCallback((event) => { event.stopPropagation(); }, []); const handleChange = react_1.useCallback((event) => { const { checked } = event.target; handleSelectChange(node, checked, containerValue); }, [node, containerValue]); const checked = utils_1.isParentChecked(node, containerValue); // 是否是半选状态 const indeterminate = !checked && utils_1.hasChildChecked(node, containerValue); return (react_1.default.createElement(antd_1.Checkbox, { onClick: handleClick, onChange: handleChange, checked: checked, indeterminate: indeterminate })); });