0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-02 14:24:19 +01:00
Bootstrap/site/layouts/partials/js-data-attributes.md
GeoSot 94c7dc717e
Add detailed explanation of the JS components configuration merging process (#37303)
* doc: add detailed explanation of the components config process & fix popover/tooltip docs

* Update site/layouts/partials/js-data-attributes.md

---------

Co-authored-by: Mark Otto <markd.otto@gmail.com>
2023-03-27 12:30:27 +03:00

1.0 KiB

As options can be passed via data attributes or JavaScript, you can append an option name to data-bs-, as in data-bs-animation="{value}". Make sure to change the case type of the option name from "camelCase" to "kebab-case" when passing the options via data attributes. For example, use data-bs-custom-class="beautifier" instead of data-bs-customClass="beautifier".

As of Bootstrap 5.2.0, all components support an experimental reserved data attribute data-bs-config that can house simple component configuration as a JSON string. When an element has data-bs-config='{"delay":0, "title":123}' and data-bs-title="456" attributes, the final title value will be 456 and the separate data attributes will override values given on data-bs-config. In addition, existing data attributes are able to house JSON values like data-bs-delay='{"show":0,"hide":150}'.

The final configuration object is the merged result of data-bs-config, data-bs-, and js object where the latest given key-value overrides the others.