Comments (6)
Nono, my point is that you can do this:
hooks/useConfirm.js
export default function useConfirmCustom() {
const confirm = useConfirm();
return useCallback((...args) => {
return confirm(...args).then(() => true).catch(() => false);
}, [confirm]);
}
components/MyComponent.js
import useConfirm from "../hooks/useConfirm";
function MyComponent(props) {
const confirm = useConfirm();
const handleClick = async () => {
const consent = await confirm({ title: "Are you a duck?" });
if (!consent) return;
console.log("you're a duck");
};
return (...);
}
I think this kind of customization can be left to the user.
from material-ui-confirm.
Can confirm that this works. Thanks for all the help
from material-ui-confirm.
You should be able to create a simple wrapper to achieve that behaviour, try something like this:
function useConfirmCustom() {
const confirm = useConfirm();
return useCallback((...args) => {
return confirm(...args).then(() => true).catch(() => false);
}, [confirm]);
}
You can then put it into a file and even import as useConfirm
in your components.
It's been a while, so let me know if I miss something :)
from material-ui-confirm.
That's true I could do that, but I'd have to create a function like that in every component that uses it (which would be a little tedious). Or am I missing something?
Also, this whole proposed change could be simply made as an option called returnsBool or something
confirm({ title: "Are you a duck?", returnsBool: true });
from material-ui-confirm.
Ha! Okay I tried that initially without useCallback (I'm relatively new to react)
Okay will try that out
from material-ui-confirm.
If anyone finds this info, keep in mind that the suggestion proposed by @jonatanklosko doesn't really solve the issue since confirm does not resolve nor reject when the user clicks outside of the dialog to dismiss it. In this case the await hangs indefinitely. This obviously is an issue if you have to reset some state after the await.
from material-ui-confirm.
Related Issues (20)
- confirm function: input value remains in the TextField after the dialog is closed HOT 2
- Confirm promise is not rejected on backdrop click or escape key down HOT 1
- How to customize the Close button in the upper right corner HOT 1
- Incompatible with React 18/Nextjs? HOT 1
- Closing the confirm should reject the promise HOT 6
- package this library also as UMD HOT 1
- Can't hide Cancel button HOT 4
- What version should I use for MUI v4? HOT 1
- Suggestion - add result in promise HOT 4
- Q: how to add form fields + read them after OK is pressed? HOT 1
- Button onclick event HOT 1
- Providing a Static Method for Easy Use Without Hooks, Suitable for Class Component Projects HOT 3
- Asynchrounous Confirm Suggestion HOT 1
- Allow `data-attributes` on `dialogProps` HOT 1
- The input value remains in the TextField even after the dialog is closed. HOT 2
- Feat: Add an acknowledge checkbox HOT 2
- Executing navigate in the then method may result in confirm not disappearing。 HOT 2
- How to close the confirm dialog programmatically? HOT 6
- v3.0.13 removes react 17 support due useId inclusion HOT 1
- Flash of default dialog content during close HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui-confirm.