# Style (and other) data binding bugginess

**URL:** <https://forum.builder.io/t/style-and-other-data-binding-bugginess/2752>\
**Category:** Bugs\
**Tags:** visual-editor\
**Created:** [October 16, 2022, 5:14pm UTC](https://forum.builder.io/t/style-and-other-data-binding-bugginess/2752 "2022-10-16T17:14:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ersin](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.builder.io/ersin/32/1849_2.png) [@ersin](https://forum.builder.io/u/ersin)\
**Post date:** [October 16, 2022, 5:14pm UTC](https://forum.builder.io/t/style-and-other-data-binding-bugginess/2752/1 "2022-10-16T17:14:30Z")

</div>

Creating/editing data bindings for CSS styles is the most frustrating aspect of using the Visual Editor. The main issues I’ve isolated are (I used `style.borderStyle` for my testing, but you should be able to confirm with any style property):

1. A binding created in the Styles tab for a CSS property is not in sync with the equivalent binding in the Data tab.
2. `style. ____ ` bindings in the data tab sometimes have no effect–but sometimes they do. It’s unpredictable, which is worse than being broken.
3. There are circumstances under which you can’t delete your bindings inside of JSON view, which as a dev is disturbing, since JSON view is supposed to be my failsafe against any bugginess. Not being able to edit the content JSON by hand when all else fails means that I’m not in control of my work. **I should always be able to rely on JSON view as a dev.**
4. Sometimes bindings that appear to have been deleted inside the Visual Editor UI are actually still present inside of the content JSON. So if you then recreate a binding, you end up getting a mystery “ghost” binding from the past.
5. Sometimes editing a style data binding in the Data tab will crash the Visual Editor. I tried to replicate this but wasn’t able to.
6. Editing a `style` data binding inside the Data tab triggers the creation of a data binding that’s prefixed with `meta.bindingActions`. If you edit that data binding, then another is triggered with the prefix `meta.bindingActions.meta.bindingActions`, and so on infinitely. So editing `style.borderStyle` generates `meta.bindingActions.style.borderStyle`; editing that in turn generates `meta.bindingActions.meta.bindingActions.style.borderStyle`, and so on. These additional generated bindings don’t seem to have any effect on the rendered block, but they’re confusing and clutter up the data tab.
7. Creating a `style` data binding from within the Data tab doesn’t always work, you have to go through the Styles tab for it to be reliable (with the above caveats).

These issues aren’t limited to just style data bindings, they appear to happen with various other properties, as well. I don’t have the time to do a systematic review of exactly which ones are problematic, but the styles one is by far the most annoying since it’s so frequently used.

**Builder content link**

> **[Builder.io: Drag and drop Visual CMS](https://builder.io/content/7c8574ad52e64f82b8a618bb8953591f)**
>
> Build and optimize digital experiences for any tech stack, visually.

**Builder public api key**  
`662907a12adb4e7db3ed47d358170dde`

**Detailed steps to reproduce the bug**

1. Create a block.
2. Create a data binding for a style inside of the Styles tab.
3. Compare your data binding inside the Styles tab with the same data binding inside of the Data tab.

**Screenshots or video link**

> **[PDP product image carousel | Visual Editor | Builder.io - 16 October 2022](https://www.loom.com/share/1aefb2ccbac1473eb1ce73e8bd5bff8a)**

**Code stack you are integrating Builder with**  
Next.js

**Reproducible code example**  
N/A

---

<div class="post-metadata">

**Author:** ![anon43891756](https://avatars.discourse-cdn.com/v4/letter/a/50afbb/32.png) [@anon43891756](https://forum.builder.io/u/anon43891756)\
**Post date:** [October 21, 2022, 2:56pm UTC](https://forum.builder.io/t/style-and-other-data-binding-bugginess/2752/2 "2022-10-21T14:56:43Z")

</div>

Hi @ersin! I hope you’re doing well.

Thank you for reaching out. We’re trying to replicate these issues on our end and will send the ticket to our Engineering team for further inspection.

We appreciate the feedback!
