@fruits-chain/dashu-bottom-bar-pro
Advanced tools
Comparing version 0.0.9 to 0.0.10
@@ -30,4 +30,5 @@ "use strict"; | ||
const allButtons = (0, _react.useMemo)(() => { | ||
return (buttons || []).filter(item => !item.hidden); | ||
}, [buttons]); | ||
return (reverse ? buttons.reverse() : buttons || []).filter(item => !item.hidden); | ||
}, [buttons, reverse]); | ||
// btn里面有含有flex的按钮 | ||
@@ -52,3 +53,3 @@ const hasFlex = (0, _react.useMemo)(() => { | ||
const [wrapElementLayout, setWrapElementLayout] = (0, _react.useState)(); | ||
const [showCount, setShowCount] = (0, _react.useState)(buttons.length); | ||
const [showCount, setShowCount] = (0, _react.useState)(allButtons.length); | ||
const [moreBtnLayout, setMoreBtnLayout] = (0, _react.useState)(); | ||
@@ -85,3 +86,7 @@ const [buttonsLayout, setButtonsLayout] = (0, _ahooks.useSetState)({}); | ||
const element = buttonsSortLayout[i]; | ||
freeSpace = freeSpace - (element === null || element === void 0 ? void 0 : element.width) - defaultGap; | ||
freeSpace = freeSpace - (element === null || element === void 0 ? void 0 : element.width); | ||
/** 除开第一个都剪去一个间距 */ | ||
if (i !== 0) { | ||
freeSpace = freeSpace - defaultGap; | ||
} | ||
if (freeSpace > 0) { | ||
@@ -102,7 +107,12 @@ maxCount++; | ||
const showButtons = (0, _react.useMemo)(() => { | ||
return showMore ? allButtons.slice(0, showCount) : allButtons; | ||
if (showMore) { | ||
return allButtons.filter((v, i) => { | ||
return i >= (allButtons === null || allButtons === void 0 ? void 0 : allButtons.length) - showCount; | ||
}); | ||
} else { | ||
return allButtons; | ||
} | ||
}, [allButtons, showCount, showMore]); | ||
const buttonListJsx = (0, _react.useMemo)(() => { | ||
const sortButtons = reverse ? showButtons.reverse() : showButtons; | ||
return sortButtons.map((b, index) => { | ||
return showButtons.map((b, index) => { | ||
const injectProps = { | ||
@@ -141,5 +151,7 @@ ...(btnBoxMode === "ellipsis" ? { | ||
}); | ||
}, [btnBoxMode, reverse, setButtonsLayout, showButtons]); | ||
}, [btnBoxMode, setButtonsLayout, showButtons]); | ||
const onPressMore = () => { | ||
const restButtons = allButtons.slice(showCount); | ||
const restButtons = allButtons.filter((v, i) => { | ||
return i < (allButtons === null || allButtons === void 0 ? void 0 : allButtons.length) - showCount; | ||
}); | ||
(0, _reactNativeXiaoshu.ActionSheet)({ | ||
@@ -146,0 +158,0 @@ actions: restButtons === null || restButtons === void 0 ? void 0 : restButtons.filter(item => !(0, _isUndefined.default)(item.text)).map(item => item.text) |
@@ -21,4 +21,5 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
const allButtons = useMemo(() => { | ||
return (buttons || []).filter(item => !item.hidden); | ||
}, [buttons]); | ||
return (reverse ? buttons.reverse() : buttons || []).filter(item => !item.hidden); | ||
}, [buttons, reverse]); | ||
// btn里面有含有flex的按钮 | ||
@@ -43,3 +44,3 @@ const hasFlex = useMemo(() => { | ||
const [wrapElementLayout, setWrapElementLayout] = useState(); | ||
const [showCount, setShowCount] = useState(buttons.length); | ||
const [showCount, setShowCount] = useState(allButtons.length); | ||
const [moreBtnLayout, setMoreBtnLayout] = useState(); | ||
@@ -76,3 +77,7 @@ const [buttonsLayout, setButtonsLayout] = useSetState({}); | ||
const element = buttonsSortLayout[i]; | ||
freeSpace = freeSpace - (element === null || element === void 0 ? void 0 : element.width) - defaultGap; | ||
freeSpace = freeSpace - (element === null || element === void 0 ? void 0 : element.width); | ||
/** 除开第一个都剪去一个间距 */ | ||
if (i !== 0) { | ||
freeSpace = freeSpace - defaultGap; | ||
} | ||
if (freeSpace > 0) { | ||
@@ -93,7 +98,12 @@ maxCount++; | ||
const showButtons = useMemo(() => { | ||
return showMore ? allButtons.slice(0, showCount) : allButtons; | ||
if (showMore) { | ||
return allButtons.filter((v, i) => { | ||
return i >= (allButtons === null || allButtons === void 0 ? void 0 : allButtons.length) - showCount; | ||
}); | ||
} else { | ||
return allButtons; | ||
} | ||
}, [allButtons, showCount, showMore]); | ||
const buttonListJsx = useMemo(() => { | ||
const sortButtons = reverse ? showButtons.reverse() : showButtons; | ||
return sortButtons.map((b, index) => { | ||
return showButtons.map((b, index) => { | ||
const injectProps = { | ||
@@ -132,5 +142,7 @@ ...(btnBoxMode === "ellipsis" ? { | ||
}); | ||
}, [btnBoxMode, reverse, setButtonsLayout, showButtons]); | ||
}, [btnBoxMode, setButtonsLayout, showButtons]); | ||
const onPressMore = () => { | ||
const restButtons = allButtons.slice(showCount); | ||
const restButtons = allButtons.filter((v, i) => { | ||
return i < (allButtons === null || allButtons === void 0 ? void 0 : allButtons.length) - showCount; | ||
}); | ||
ActionSheet({ | ||
@@ -137,0 +149,0 @@ actions: restButtons === null || restButtons === void 0 ? void 0 : restButtons.filter(item => !isUndefined(item.text)).map(item => item.text) |
{ | ||
"name": "@fruits-chain/dashu-bottom-bar-pro", | ||
"version": "0.0.9", | ||
"version": "0.0.10", | ||
"main": "dist/commonjs/index.js", | ||
@@ -5,0 +5,0 @@ "module": "dist/module/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
70032
986