Skip to main content
Notamisanthrope
January 29, 2021

Repeater 🔥 (Auto-Layout evolution)

  • January 29, 2021
  • 42 replies
  • 13364 views

Hey guys,

Let’s be real. The main spectrum of work with UI, whether it’s an app, or a website, is displaying data or content (such as feed, lists, posts, comments, etc).

We can do a component of a post card, for example. Then duplicate instances, and wrap that in an auto layout.

It would be cool to have a repeater that shows right up after you’ve activated the auto-layout, where you can specify how many times to repeat the instance (component) and bind data to it.

At the same time, it would be cool to have a centralized data location somewhere (i.e. when you click on the data, open a shared data set so that the same data can be accessed from different repeaters).

(Screenshot is just to deliver the idea, it’s far from the perfect UI, I didn’t spent much time of thinking it through since Figma has a great product team on board to elaborate it and deliver in an amazing simplified way)

It feels like it’s a very natural evolution of Auto-Layout feature.

So, what do you guys think?

(P.S. Sorry for my English, it’s my second language)

42 replies

tank666
January 29, 2021

I agree. Since interface design is mostly about repeating elements, the repeater function would be appropriate for tables, lists, cards, and the like. A similar feature exists in Adobe XD (called Repeat Grid).

Only in the repeater settings it would be enough to indicate the number of repeating elements (for example, 5), and the content will change, as always, on the canvas.

UX/UI designer. Figma expert. Creator and developer of plugins and widgets for Figma and FigJam. Check out my resources in Figma Community: figma.com/@tank
Aalok_Trivedi
January 29, 2021

Love it. Definitely needed. It would be great if it functioned like the Craft plugin for Sketch, where you can can set a repeating number and also import a json file or url. I know there are plenty of json plugins, but I haven’t found any that are really robust and work well with repeating objects or updating.

Mihael
New Participant
January 29, 2021

Much needed feature, for sure. I miss the Craft repeater, there are some substitutes as @Aalok_Trivedi wrote, but I had no chance to actually see how they work.

Notamisanthrope
February 1, 2021

Yes, the number of repeating elements is indeed necessary. I just forgot to add it lol, as I was trying to put the image together as I was writing the post. I thought the picture would be useful and quickly sketched it out and forgot about the number 🙂

Kai_Magnus
August 27, 2021

Yes that would be nice. As is Auto Layout and Repeat Grid (XD) are both kinda half-baked but each in different ways. Joining them would be very welcome.

Lukas_Berghegger
November 12, 2021

In addition, now that interactive component are here:
i would love to have a “is active element” event inside repeaters.
that way, it would be easy to make generic radio-buttons.

Prazak_Dawid
November 16, 2021

I agree with multiples for auto layout. One issue I have with this is that in order for this to work well, any interactive component with images inside of them will have to keep the image after state change (I believe its still an issue).

ashygee
January 28, 2022

I’ve seen a lot of discussion about creating dynamic components but having to break them when wanting to manipulate the number of nested children inside. I realize this is most likely already something that is in development or has been added on a post-it note in a backlog somewhere, but I wanted to throw my hat in the ring for a way in which this might be possible. Forgive me if someone has already made this solution but I have not seen it thus far and if you have already thought of this, then I’m glad that there are also like-minded folks out there.

Previous temporary solutions for this that I’ve seen are to use components that have a designated number of “slots” already included to add and remove nested children. This works but only to a limit and for some folks with large files, sometimes this always isn’t the most performant as data is still being loaded for these placeholder children.

My solution would designate an already predetermined child to be dynamic in number, so only that child could be repeated. There are limits to this of course but this could also encourage some creative shifting into the philosophies and models we use to compose components currently in Figma.

Would love to hear other folk’s thoughts on this too. Thanks for reading!

Alireza_Rahmani
January 29, 2022

I think this solution have a lot of dependencies on components. it doesn’t solve the repeat grid issue; imagine we want a list that is not a component, it’s more common in designs. although I think it would be great to have a numeral property in variants.

ashygee
January 31, 2022

Totally, I am completely aware that there are limitations and that it is for a very specific use case. But I do feel that when creating more complex components, nesting children components/utility components allows for more flexibility and scalability.

FWIW, I wasn’t looking to solve the repeat grid issue. I actually had made this a separate topic but the mods lumped it in here. I honestly think it’s completely separate from that topic and would consider this a separate feature.