为了账号安全,请及时绑定邮箱和手机立即绑定

Bootstrap-vue - 在 vue js 中将数组数据显示为下拉列表

Bootstrap-vue - 在 vue js 中将数组数据显示为下拉列表

慕哥6287543 2022-06-09 11:23:22
我有一组 JSON 数据,例如: loggers = [{        "allAvailableLevel": ['WARN', 'DEBUG', 'INFO'],        "level": "WARN",        "logger": "com.test1",        "status": "success"    },{        "allAvailableLevel": ['WARN', 'DEBUG', 'INFO'],        "level": "WARN",        "logger": "com.test2",        "status": "success"    }    ]我在表列中使用下拉菜单,并为此使用下面的代码,并且基本上遍历 Loggers 数组但无法提取 allAvailableLevel 数据。 <table class="table table-bordered">        <thead>          <tr>            <th>#</th>            <th>Class</th>            <th>Current Level</th>            <th>All Available Levels</th>            <!-- Only display "Action" header if level is changed-->            <th>              Action            </th>          </tr>        </thead>        <tbody>          <tr v-for="(logger, index) in loggers" :key="logger">            <td>{{ index + 1 }}</td>            <td>{{ logger.logger }}</td>            <td>{{ logger.level }}</td>            <td>              <b-dropdown                boundary="viewport"                id="dropdown-dropup"                size="sm"                :text="selectedLevelText"                split                class="m-2"              >                <b-dropdown-item-button                  v-for="logger in loggers[0].allLevel"                  :key="logger"                  @click.prevent="changeLevel(level)"                  >{{ logger }}</b-dropdown-item-button                >              </b-dropdown>            </td>            <td v-if="levelChanged">              <b-button                size="sm"                variant="secondary "                @click.prevent="updateLevel(selectedLevelText)"                >Update</b-button              >            </td>          </tr>        </tbody>      </table>使用上面的代码,我的下拉列表如下所示:我想像这样显示它:如何在vue模板中遍历我的数据只获取“allAvailableLevel”的数据?
查看完整描述

2 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

您应该按如下方式遍历该嵌套数组:

 <b-dropdown-item-button
                      v-for="level in logger.allAvailableLevel"
                      :key="level"
                      @click.prevent="changeLevel(level)"
                      >{{ level }}</b-dropdown-item-button
                    >


查看完整回答
反对 回复 2022-06-09
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

做这个:


<tr v-for="(logger, index) in loggers" :key="logger">

  <td>{{ index + 1 }}</td>

  ...

  <td>

    <b-dropdown

      boundary="viewport"

      id="dropdown-dropup"

      size="sm"

      :text="selectedLevelText"

      split

      class="m-2"

    >

      <b-dropdown-item-button

        v-for="level in logger.allAvailableLevel"

        :key="level"

        @click.stop="changeLevel(level)"

        >{{ logger }}</b-dropdown-item-button

      >

    </b-dropdown>

  </td>

</tr>


查看完整回答
反对 回复 2022-06-09
  • 2 回答
  • 0 关注
  • 384 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号