# DotVVM & knockout.js (includes the MultiSelect issue)

**URL:** <https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335>\
**Category:** Discussion in English\
**Created:** [July 5, 2025, 12:31pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335 "2025-07-05T12:31:21Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![MarianV](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/m/c0e974/32.png) [@MarianV](https://forum.dotvvm.com/u/MarianV)\
**Post date:** [July 5, 2025, 12:31pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/1 "2025-07-05T12:31:21Z")

</div>

Quick question:

Does the team developing the framework have any plans on replacing knockout.js with something else?  
Apparently 5.x still uses it. If abandoning it is considered, is there a roadmap / calendar about this?

---

<div class="post-metadata">

**Author:** ![exyi](https://forum.dotvvm.com/user_avatar/forum.dotvvm.com/exyi/32/9_2.png) [@exyi](https://forum.dotvvm.com/u/exyi)\
**Post date:** [July 6, 2025, 7:58pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/2 "2025-07-06T19:58:03Z")

</div>

It’s more like a dormant idea at this point. We now have “fixed” the main issues we had with knockout (or rather worked around them), so it’s not a priority. Definitely not for version 5. The main ways to avoid knockout issues in specific situations is using dotvvm.state (setState, …) and JsComponent. If you have some specific need where knockout is getting in the way, let us know, maybe there already exists a reasonably easy solution

---

<div class="post-metadata">

**Author:** ![MarianV](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/m/c0e974/32.png) [@MarianV](https://forum.dotvvm.com/u/MarianV)\
**Post date:** [July 10, 2025, 11:47am UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/3 "2025-07-10T11:47:57Z")

</div>

I believe that the lag from this issue I face: [[bp:MultiSelect] flooding the client-side console with warnings & errors + lag](https://forum.dotvvm.com/t/bp-multiselect-flooding-the-client-side-console-with-warnings-errors-lag/334)

is due to knockout getting in the way.

What do you think?

---

<div class="post-metadata">

**Author:** ![exyi](https://forum.dotvvm.com/user_avatar/forum.dotvvm.com/exyi/32/9_2.png) [@exyi](https://forum.dotvvm.com/u/exyi)\
**Post date:** [July 21, 2025, 10:03pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/4 "2025-07-21T22:03:49Z")

</div>

In this case, the problem is crappy implementation of the component: the list of **all** values is in the DOM for each component — the popup list is only hidden with CSS, and it’s being updates with each observable update…

---

<div class="post-metadata">

**Author:** ![MarianV](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/m/c0e974/32.png) [@MarianV](https://forum.dotvvm.com/u/MarianV)\
**Post date:** [July 22, 2025, 6:21am UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/5 "2025-07-22T06:21:50Z")

</div>

Then, do you have any suggestion, maybe, on how to get rid of the lag? It is a front-end issue for sure.

---

<div class="post-metadata">

**Author:** ![wolfstudiodev](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/w/3be4f8/32.png) [@wolfstudiodev](https://forum.dotvvm.com/u/wolfstudiodev)\
**Post date:** [July 22, 2025, 2:55pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/6 "2025-07-22T14:55:06Z")

</div>

Maybe build your own Multiselect or individual components that aren’t working like you want. I’ve been using Dotvvm controls and building custom controls instead of using bootstrap controls.  
Just an opinion, probably not the best idea.

---

<div class="post-metadata">

**Author:** ![exyi](https://forum.dotvvm.com/user_avatar/forum.dotvvm.com/exyi/32/9_2.png) [@exyi](https://forum.dotvvm.com/u/exyi)\
**Post date:** [July 24, 2025, 8:41pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/7 "2025-07-24T20:41:15Z")

</div>

Unfortunately, MultiSelect is quite hard to replace… I filed a PR to kindof fix the problem for MultiSelect specifically, but it seems that all BP are keeping all of their popups in the DOM even when not touched by the user 😩

---

<div class="post-metadata">

**Author:** ![MarianV](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/m/c0e974/32.png) [@MarianV](https://forum.dotvvm.com/u/MarianV)\
**Post date:** [July 25, 2025, 10:08am UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/8 "2025-07-25T10:08:55Z")

</div>

For some 15+ huge lists of 3000+ items, lag of over 30secs when loading all together or when closing the popup(modal) holding the entire form.  
I’m thinking of creating a custom alternative based on MultiSelect but I don’t have priority on that right now so I don’t know when I’ll be able to come with some feedback on this aspect.  
Too bad, MultiSelect is very nice in terms of functionality and how it looks and the fact that it is part of the control pack, but has this performance issue for cases like this one, where the web form is quite heavy with data sets. But yes, looking forward to your fix, exyi, I appreciate that you addressed the control’s drawback.

---

<div class="post-metadata">

**Author:** ![wolfstudiodev](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/w/3be4f8/32.png) [@wolfstudiodev](https://forum.dotvvm.com/u/wolfstudiodev)\
**Post date:** [July 29, 2025, 8:21am UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/9 "2025-07-29T08:21:54Z")

</div>

Why not lazy loading the data on scroll when multiselect is open if the problem is the initial loading time? Or the problem is more about the popups in DOM ?

---

<div class="post-metadata">

**Author:** ![MarianV](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/m/c0e974/32.png) [@MarianV](https://forum.dotvvm.com/u/MarianV)\
**Post date:** [July 29, 2025, 8:57am UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/10 "2025-07-29T08:57:17Z")

</div>

Interesting idea, @wolfstudiodev.  
For certain, I have to say that “grind-to-a-halt” type of lag happens also when interacting with the large lists (3000+ items) by selecting and removing them.  
**LE:** also, the user needs to be able to readily filter the _entire_ item list by typing characters in the MultiSelect (that nice filter-as-you-type feature it has). I suppose that this need contradicts the lazy(partial) loading approach but its just a hunch, I’m not sure if it would exclude it.

@exyi  
Can you remind me, please, when the PR you mentioned would be publicly available in the Business Pack? …To try out the new MultiSelect.

---

<div class="post-metadata">

**Author:** ![wolfstudiodev](https://forum.dotvvm.com/letter_avatar_proxy/v4/letter/w/3be4f8/32.png) [@wolfstudiodev](https://forum.dotvvm.com/u/wolfstudiodev)\
**Post date:** [July 29, 2025, 7:26pm UTC](https://forum.dotvvm.com/t/dotvvm-knockout-js-includes-the-multiselect-issue/335/11 "2025-07-29T19:26:23Z")

</div>

If you decide to go for custom multiselect and wanna some help I can contribute in what I can. I like it cuz it’s a way to share opinions and learn with more people.
