【问题标题】:How to add button in every table row? - VueJS 2.5 - good-table如何在每个表格行中添加按钮? - VueJS 2.5 - 好表
【发布时间】:2019-07-18 13:42:34
【问题描述】:

我正在尝试添加一个按钮来替换表格单元格中每一行的“查看详细信息”字样。我试过实现一个模板,每次保存更改时,表格都没有返回任何结果,这告诉我有些东西坏了。

这是表格当前的样子:

这是我的代码:

  <vue-good-table
                :columns="columns"
                :rows="rows"
                :globalSearch="true"
                :paginate="true"
                :responsive="true"
                :lineNumbers="false"
                class="styled"
                styleClass="table">
                 <template slot="table-row" slot-scope="props">
                      <span v-if="props.column.field == 'Details'">
                        <button type="button" class="btn btn-primary">
                        View Details
                        </button>
                      </span>
                      <span v-else>
                          {{props.formattedRow[props.column.field]}}
                      </span>
                  </template>
              </vue-good-table>

。 . . .

  columns: [
        {
          label: "Date",
          field: "date",
          filterable: true
        },
        {
          label: "Event",
          field: "event",
          filterable: true
        },
        {
          label: "Details",
          field: "details",
          filterable: true
        }
      ],
      rows: [
        {
          event: "Thanksgiving Barrel Events",
          details: "View Event",
          date: "11/28/2018 at 6:34 PM"
        },
        {
          event: "Christmas Barrel Events",
          details: "View Event",
          date: "12/25/2018 at 6:34 PM"
        },

【问题讨论】:

    标签: vue.js vue-good-table


    【解决方案1】:

    您所做的一切都是正确的,除了您在检查列的字段是否为“详细信息”时留下了错字,而它的“详细信息”(小写)。

    对于字符串,'Details' 不等于 javascript 中的 'details',因为字符串是区分大小写的,永远不要忘记这一点。

    所以工作代码如下所示:

    <vue-good-table
      :columns="columns"
      :rows="rows"
      :globalSearch="true"
      :paginate="true"
      :responsive="true"
      :lineNumbers="false"
      class="styled"
      styleClass="table">
      <template slot="table-row" slot-scope="props">
        <span v-if="props.column.field == 'details'">
          <button type="button" class="btn btn-primary">
          View Details
          </button>
        </span>
        <span v-else>
            {{props.formattedRow[props.column.field]}}
        </span>
      </template>
    </vue-good-table>
    

    这是一个有效的代码笔: https://codesandbox.io/s/nnpqpn6ll4?fontsize=14

    【讨论】:

    • 仍然收到“此表没有可用数据”我已将错误日志图片附加到我的帖子底部
    • vue-good-table 插件的当前版本是什么?您可以尝试将其更新到最新版本,看看问题是否仍然存在?
    • 我已经使用 codepen 示例编辑了我的答案,其中插件与安装了最新版本的您的标记完美配合。我已经可以看到您正在使用插件的 V1 版本,因此更新到最新版本 (@2.16.2) 应该可以解决您的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2020-10-17
    • 2019-12-20
    • 2012-05-04
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    相关资源
    最近更新 更多