Quasar QTable 单击可单击行上的操作按钮

Quasar QTable Clicking an action button on clickable row

我正在为我的项目使用类星体框架,但我在 qtable 组件上遇到问题。我使 table 行可通过 @row-click 事件单击。这很好用,但我的 table 上有一些操作按钮单元格,当我单击任何操作按钮时,首先触发 @row-click 事件。我需要给一个异常 acitons body 单元格。我该怎么做?

您可以在点击时使用.stop,它只会触发按钮点击事件。

<q-btn icon="info" @click.stop="btnclick" dense flat/>

示例:-

<q-table
  title="Treats"
  :data="data"
  :columns="columns"
  row-key="name" 
  @row-click="onRowClick"
>
  <template v-slot:body-cell-name="props">
    <q-td :props="props">
      <div>
        <q-badge color="purple" :label="props.value"></q-badge>
        <q-btn icon="info" @click.stop="btnclick" dense flat/>
      </div>
    </q-td>
  </template>
</q-table>

codepen - https://codepen.io/Pratik__007/pen/oNjQYBW

在任何您想停止点击操作的地方输入代码。

<q-btn v-on:click.stop="onClickFunction"/>

此代码将导致 Click 事件停止父点击功能,并且运行它是在该组件上指定的自己的点击功能

我用下面的方法找到了解决问题的办法;

 <q-table :data="listProjects(this.$route.params.id)" :columns="columns" row-key="id" @row-click="rowClicker" selection="multiple" :selected.sync="selectedItems">



rowClicker (e, row) {
  if (e.target.nodeName === 'TD') {
    this.$router.push('project/parts/' + row.id)
  }
}

除我的按钮点击外,所有点击均来自 TD 元素。如果它由 TD 元素触发,它将路由,否则不会。