Giter Club home page Giter Club logo

Comments (6)

natankeddem avatar natankeddem commented on May 27, 2024 2

@falkoschindler thank you so much for digging into this so quickly. @rodja and your commitment to this project is exceptional. Your breakdown of the core issue makes sense, the options and value somehow are interacting strangely when they are sharing a list. In my use case I was attempting to restore the value and options from storage at startup. That is why both objects were the same. I don't have an opinion on the best resolution on this issue, I'll defer to yours.

from nicegui.

rodja avatar rodja commented on May 27, 2024

Interesting combination @natankeddem. It works if you use value=options[0] instead of value=options. Could be some Quasar issue. Could you try setting up the same scenario in Quasar only and see if it is reproducible?

from nicegui.

natankeddem avatar natankeddem commented on May 27, 2024

I was basically trying to recreate the example on the Quasar site:
https://quasar.dev/vue-components/select#the-new-value-mode-prop

from nicegui.

rodja avatar rodja commented on May 27, 2024

@natankeddem the Quasar example does not have a preselection of values...

from nicegui.

falkoschindler avatar falkoschindler commented on May 27, 2024

Minimum reproduction:

options = ['default']
ui.select(options, value=options, with_input=True, new_value_mode='add', multiple=True).props('use-chips')

Working counterexample:

ui.select(['default'], value=['default'], with_input=True, new_value_mode='add', multiple=True).props('use-chips')

I guess there is a problem with using the same reference for the options and the value. Maybe we can simply copy on of the arguments. I'll look into it.

from nicegui.

falkoschindler avatar falkoschindler commented on May 27, 2024

Actually I'm not sure if we really need to change the implementation by copying arguments. Maybe we should warn or raise instead if both arguments are the same object, because that doesn't make much sense and the expected behavior is not very clear.

from nicegui.

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.