q数据表行中q-toggle的V模型

时间:2018-05-08 15:08:15

标签: vue.js vuejs2 quasar quasar-framework

我试图在数据表的每一行中进行切换。现在我有: Displays ok but can't click

所以我的两个专栏('活跃'和#39;共享')是布尔值。它显示ok,具体取决于布尔值,但是如果单击切换,我会收到错误。我认为这是因为我的切换的v-modelcol.value,我不允许修改它。问题是,我不知道如何直接将v-model绑定到我的原始对象?

这是我的简化代码(模板部分):

<q-table>
 <q-tr slot="body" slot-scope="props" :props="props" >
   <q-td v-for="col in props.cols" :key="col.name" :props="props">
     <div v-if="['templateActive', 'templateShared'].includes(col.name)">
       <q-toggle v-model="col.value"/>
     </div>
     <div v-else>
        {{col.value}}
      </div>
    </q-td>
  </q-tr>
</q-table>

奖金问题:为什么SO继续删除我的&#34; hi everybody&#34;在我的帖子开头?

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了一个解决方案,但是对于我想要使用的每个q-toggle,它需要v-if个案例,所以如果有人有更优雅的解决方案,我仍然感兴趣。同时,这是一个解决方案(使用props.row.myToggleValue代替col.value):

<q-table>
 <q-tr slot="body" slot-scope="props" :props="props" >
   <q-td v-for="col in props.cols" :key="col.name" :props="props">
     <div v-if="['templateActive'].includes(col.name)">
       <q-toggle v-model="props.row.active"/>
     </div>
     <div v-else_if="['templateShared'].includes(col.name)">
        <q-toggle v-model="props.row.shared"/>
     </div>
     <div v-else>
        {{col.value}}
      </div>
    </q-td>
  </q-tr>
</q-table>