@td-design/react-native
Version:
react-native UI组件库
36 lines (34 loc) • 867 B
JavaScript
import { useBoolean, useMemoizedFn } from '@td-design/rn-hooks';
export default function useTag(_ref) {
let {
selected = false,
disabled = false,
selectable = true,
onClose,
onSelect
} = _ref;
const [checked, {
set: setChecked
}] = useBoolean(selected);
const [closed, {
set: setClosed
}] = useBoolean(false);
/** 点击事件 */
const handlePress = () => {
if (disabled || !selectable) return;
setChecked(!checked);
onSelect === null || onSelect === void 0 ? void 0 : onSelect(!checked);
};
/** 删除事件 */
const handleDelete = () => {
setClosed(!closed);
onClose === null || onClose === void 0 ? void 0 : onClose();
};
return {
checked,
closed,
handlePress: useMemoizedFn(handlePress),
handleDelete: useMemoizedFn(handleDelete)
};
}
//# sourceMappingURL=useTag.js.map