Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

121
Views
Vue js 3 use multiple custom classes on table dynamically

I am working on a project where i use vue for my frontend, but i am new on vue. And i am trying to add some dynamically class on my table. So for example where i check table-sm table will assing this class. Already i have done this but it work only with one class. I really dont know how to do this to work with an array. Can someone help ?

I want also to add another input for other classes EX: table-bordered and table-striped ...

<div class="form-check form-switch">
  <input v-model="smallTable.active" type="checkbox" class="form-check-input" id="smallTable" @change="tableStyles()">
  <label class="form-check-label" for="smallTable">
    Small Table
  </label>
</div>

//Table tag
<table class="table table-hover align-middle mb-0" :class="smallTable.smTable">
...

//vue component
data() {
        return {
        smallTable: {smTable: "", active: false,},
      }
}

tableStyles() {
            if (this.smallTable.active) {
                this.smallTable.smTable = "table-sm"
            }else {
                this.smallTable.smTable = ""
            }
            localStorage.setItem("tableStyle", JSON.stringify(this.smallTable));
        },

what i am loking for is something like this:

data() {
        return {
        smallTable: [
          {smTable: "", active: false,},
          {bordertable: "", active: false,}
         ]
      }
}
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

There are two approaches:

  1. Using a string of classes that separated by space
tableStyles() {
  this.smallTable.smTable = '';
  if (this.smallTable.active) {
    this.smallTable.smTable += ' table-sm';
  }
  if (this.checkbox1.active) {
    this.smallTable.smTable += ' table-bordered';
  }
  if (this.checkbox2.active) {
    this.smallTable.smTable += ' table-hover';
  }
  localStorage.setItem('tableStyle', JSON.stringify(this.smallTable));
},

  1. Using an object of classes by according boolean switch
// You are supposed to create an object
// whose keys are the class names and
// values are boolean showing how a class should apply or not.

tableStyles() {
  this.smallTable.smTable = {
    'table-sm':       this.smallTable.active,
    'table-bordered': this.checkbox1.active,
    'table-hover':    this.checkbox2.active,
  };
  localStorage.setItem('tableStyle', JSON.stringify(this.smallTable));
},

It gives you the idea of how to set classes dynamically. Please tune conditions according to your actual data.

about 4 years ago · Juan Pablo Isaza Report

0

you can use ternary condition in class binding to binding multiple class for an element read more abou it here

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!