Guide on leveraging computed properties with getters and setters to initiate commits in Vuex

I have integrated a computed property called category in an input field that is bound with v-bind. See the code snippet below:

  <select name="Category" :value="category">
    <option value="AC">AC</option>
    <option value="TV">TV</option>
    ...
  </select>

In order to handle this computed property, I have defined getters and setters as shown below:

computed:{
    category: {
      get () {
        return this.$store.state.category
      },
      set (value) {
        console.log("Value of category changed")
        this.store.commit("SET_CAT", value)
      }
    }
}

However, I encountered an issue where the setter is not being called when I change the input field. How can I address this problem or what alternative approach can I take to update the state variable directly from the HTML input field?

You can find a working example on this fiddle link.

Answer №1

I was able to make this work simply by switching from using v-bind to v-model within the select element.

<select name="Category" v-model="category">
  <option value="" disabled hidden>Select Product</option>
  ....

You can see it in action on this fiddle.

If you have any suggestions for an even better approach, please share your answer.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

My React app experienced a severe crash when trying to render an animation in L

Currently, I am working on a React application that was set up using Vite. I recently incorporated an animation using Lottie, and although I was successful in implementing it, I encountered a problem when navigating between different pages of my applicati ...

The functionality of setTimeout in Chrome extension is malfunctioning

Greetings everyone, this is my first post here! I'm currently working on a chrome extension where I am utilizing a recursive setTimeout function. Interestingly, I've noticed that setting the timeout to 13 seconds works fine, but anything beyond ...

Dealing with errors in Node.js using the Express framework and the

The code I'm having trouble with is shown below app.get('/', function(req, res, next) { if (id==8) { res.send('0e'); } else { next(); } }); app.use(function(err, req, res, next){ res.send(500, ' ...

Changing camera view in Three.js upon clicking an HTML button

My goal is to create a straightforward animation using three.js, HTML, and CSS. The concept involves generating multiple BoxGeometries within a for loop and adjusting the rotation of each box incrementally with each iteration. I have successfully achieved ...

Converting a ref or div to an Excel format using JavaScript or jQuery

I am facing an issue with exporting multiple tables to Excel in a React project. The main problem is that when I try to export the tables using libraries like "react-html-table-to-excel-3", only the first table gets exported and not the nested table insi ...

Trouble arises when attempting to utilize the return value from a Meteor.call function

Forgive my lack of knowledge in javascript, but I am struggling to understand why this code is not functioning properly. How can I modify it to achieve the desired outcome? // Client-side Code Template.tabs.title = function () { var msg; Meteor.call(& ...

Is there a way for me to store the retrieved information from an API into a global variable using Node.js?

function request2API(option){ const XMLHttpRequest = require('xhr2');//Cargar módulo para solicitudes xhr2 const request = new XMLHttpRequest(); request.open('GET', urlStart + ChList[option].videosList + keyPrefix + key); request. ...

How to eliminate quotation marks from an array in JavaScript?

const original_data = ["alpha,beta,gamma","1,2,3","apple,banana,cake"]; updated_data = ["alpha,beta,gamma,1,2,3,apple,banana,cake"] The function is returning the original_data, but I require the updated_data. ...

Guide to importing a class property from one file to another - Using Vue with Typescript

Here is the code from the src/middlewares/auth.ts file: import { Vue } from 'vue-property-decorator' export default class AuthGuard extends Vue { public guest(to: any, from: any, next: any): void { if (this.$store.state.authenticated) { ...

AngularJS anticipates the completion of a lone asynchronous request

Attempting to assign data to the scope after an asynchronous call. There is an array named companies in the factory. factory.getByCategoryId = function (id) { $http.get('http://localhost/campaign?access-token=12345&id=2').then( func ...

Learn the process of using jQuery to trigger a Bootstrap alert

Consider the following code snippet: <div class="alert alert-info fade in" id="bsalert"> <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> <strong>Info!</strong> This alert box could indica ...

Leverage global variables within an AngularJS service

I am facing a scenario where I need to utilize a global variable within an Angular service. There is a function in my code that retrieves a session id from the parent application. Here is how it looks: var sessionId; function setSessionID(e) { sessi ...

Vuejs components are not being rendered properly when using <router-view /> in Laravel 5.8

I am currently working on developing a Single Page Application (SPA) using Vuejs and Laravel. I have integrated vue-router to handle the routing within the application. However, I am facing an issue where the component that needs to be displayed inside the ...

Schedule Master: A sophisticated tool for time management

I have been following the instructions to implement a date time picker from this tutorial. I downloaded the necessary js and css files and placed them in the respective directories. However, when I click on the calendar icon, the calendar does not pop up. ...

CORS response header is not included

Is it the company's responsibility () to rectify one of their endpoints or is it an issue with my code? I have tested all other endpoints () using the same code below and they all function correctly, except for the specific one in question. The erro ...

Make sure to save the HTML content after we make an AJAX call to retrieve it

Is there a way to call an HTML file using Ajax and then save the response as an HTML file in a specific location? I have been trying to make an Ajax call using jQuery, like shown below: $.ajax({ type: "POST", url: "../../../project/html/T ...

Trouble with addClass failing to update CSS properties

I'm having trouble updating my add class. I'm attempting to create a sticky navigation bar, but the CSS on my site doesn't seem to be updating. None of the solutions I've found so far have been helpful. The website in question is antete ...

Display Issue with Header Row in React Data Table Component - Full Text Not Visible

Hey there! I've been working with a neat npm package called react-data-table-component. However, I've run into a bit of trouble trying to adjust the width of the table header text. Take a look at the issue here: https://i.sstatic.net/AzqNw.png ...

Revise the text while keeping the column content unchanged

Is it possible to change the text in a column without affecting the image using Jquery? Can this be achieved solely with Jquery without any modifications to the HTML code? Check out the demo $(".jsNoWrap").text("Change text"); <script src="https://a ...

How can I retrieve the attributes of a formArray in an HTML document?

Struggling to integrate a reactive Angular form, I'm facing issues accessing the properties of an array in my HTML. This is my first time working with reactive forms and any guidance would be greatly appreciated. Using Angular 10, below is the code sn ...