Coder Social home page Coder Social logo

Comments (5)

siriwatknp avatar siriwatknp commented on May 10, 2024 1

For deep slots, what should be the usage? I'm thinking

Make sense to me for the time being but in v7, we should consider restructuring components to not have nested slots.

from material-ui.

siriwatknp avatar siriwatknp commented on May 10, 2024

cc @DiegoAndai should we have another umbrella to take care of the completeness of slots and slotProps as a follow-up from the deprecation? I can own this if you'd like.

from material-ui.

DiegoAndai avatar DiegoAndai commented on May 10, 2024

Hey @quibaritaenperdresatrompe, thanks for the report! The button icon's slots are under the action slots, as they're slots of the TablePaginationActions component. So you can access them through, for example, MuiTablePagination.defaultProps.slots.actions.nextButtonIcon. Here's an example: https://stackblitz.com/edit/stackblitz-starters-5rgtos?file=src%2FApp.tsx.

I would mark this issue as expected by design.

For context, this was introduced in #39353.

cc @DiegoAndai should we have another umbrella to take care of the completeness of slots and slotProps as a follow-up from the deprecation? I can own this if you'd like.

@siriwatknp Yes, I think we should have an issue for that 🙌🏼 the goal would be to add any missing slots and slotProps that were not added due to a deprecation. Could you create that issue?

I'm also curious about what you think about the sidenote in #33797 (comment):

I realized that we made a mistake in that PR. It should be slotProps.actions.slotProps.firstButton.

For deep slots, what should be the usage? I'm thinking

  • slots.<slot> to override one-level slots
  • slotProps.<slot> to override one-level slot's props
  • slotProps.<parentSlot>.slots.<childSlot> to override two-level slots
  • slotProps.<parentSlot>.slotProps.<childSlot> to override two-level slot's props
  • slotProps.<grandparentSlot>.slotProps.<parentSlot>.slots.<childSlot> to override three-level slots
  • ...

I don't know if we have any more of these. If we go with that, then the current TablePagination implementation is incorrect as it shouldn't allow slots.actions.nextButtonIcon, the correct path should be slotProps.actions.slots.nextButtonIcon.

from material-ui.

DiegoAndai avatar DiegoAndai commented on May 10, 2024

I think we should close this issue as expected and create a new one to remove nested slots in the future; what do you think?

from material-ui.

siriwatknp avatar siriwatknp commented on May 10, 2024

I think we should close this issue as expected and create a new one to remove nested slots in the future; what do you think?

Sounds good. The new issue could be an umbrella one that covers all existing components that contain nested slots.

from material-ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.