首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将条件类应用于v-col

将条件类应用于v-col
EN

Stack Overflow用户
提问于 2022-05-16 19:45:02
回答 2查看 195关注 0票数 0

我正试着把条件类应用到我的v-col

代码语言:javascript
复制
<v-row v-for="(rule, index) in ruleDetails" :key="index">
<v-col
    :class="{
        'md-4': rule.width == 'large',
        'md-3': rule.width == 'medium'
    }"
>
    
</v-col>
</v-row

还有rule.width = 'medium'现在。

它似乎没有任何效果。

我是不是忘了什么?

EN

回答 2

Stack Overflow用户

发布于 2022-05-16 21:31:41

你可以把它做成数组。

代码语言:javascript
复制
<v-row v-for="(rule, index) in ruleDetails" :key="index">
  <v-col :class="[rule.width == 'large' && 'md-4', rule.width == 'medium' && 'md-3']">
    
  </v-col>
</v-row

这在Vue解析为:class="[false, 'md-3']<foo class="md-3" />中得到解决

代码语言:javascript
复制
const rule = {
  width: 'medium'
}

console.log([rule.width == 'large' && 'md-4', rule.width == 'medium' && 'md-3'])

票数 1
EN

Stack Overflow用户

发布于 2022-05-17 06:57:30

您可以直接在md中而不是在类中使用<v-col>属性。要实现这一点,您可以在每个对象中应用另一个属性作为值和宽度。

演示(在完整页面中运行此代码段)

代码语言:javascript
复制
new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    ruleDetails: [{
      width: 'small',
      value: 2
    }, {
      width: 'medium',
      value: 3
    }, {
      width: 'large',
      value: 4
    }]
   }),
});
代码语言:javascript
复制
#app { padding: 1% 5% }
代码语言:javascript
复制
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css"/>
<div id="app">
  <v-row v-for="(rule, index) in ruleDetails" :key="index">
    <v-col :md="rule.value" style="background-color: yellow">
      {{ rule.width }}
    </v-col>
    </v-col>
  </v-row>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72264788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档