1.v-for循环要遍历的按钮

   <div v-for="item in items" :key="item.label || 'divider-' + item.type">

      <el-button

        class="OnlineMode-btn"

        v-if="item.label"

        :icon="item.icon"

        >{{ item.label }}</el-button

      >

      <div v-else class="vertical-divider"></div>

    </div>

2.添加数组进行遍历

// tag数据

const items = ref([

  { type: "info", label: "1", icon: Plus },

  { type: "info", label: "2", icon: Histogram },

  { type: "info", label: "3", icon: Histogram },

  { type: "info", label: "3", icon: Histogram },

  { type: "info", label: "4", icon: Histogram },

  { type: "info", label: "5, icon: Histogram },

  { type: "info", label: "" },

  { type: "info", label: "6", icon: Histogram },

]);

3.给按钮绑定点击事件

<el-button

        class="OnlineMode-btn"

        v-if="item.label"

        :icon="item.icon"

        @click="handleButtonClick(item)"

        >{{ item.label }}</el-button

      >

      <div v-else class="vertical-divider"></div>

      这个就是点击事件的写法  @click="handleButtonClick(item)"

4.给点击事件做处理通过属性lable来进行判断,我用的是switch,也可以用if 

// 处理按钮点击

function handleButtonClick(item) {

  console.log(`Clicked button with label: ${item.label}`);

  switch (item.label) {

    case "新健/调用":

      newCallClick();

      break;

    case "图表设置":

      chartSettingsClick();

      break;

    case "矩形缩放":

      rectangularZoomClick();

      break;

    case "水平缩放":

      horizontalZoomClick();

      break;

    case "等比缩放":

      proportionalZoomClick();

      break;

    case "可视化类型":

      visualizationTypeClick();

      break;

    default:

      break;

  }

}

记住一定要加上(item)进行形参。

5.给需要的按钮添加function方法进行进行事件处理

function newCallClick() {

  alert("处理 新健/调用 的特殊逻辑");

  // 特殊逻辑

}

function chartSettingsClick() {

  console.log("处理 图表设置 的特殊逻辑");

  alert("处理 图表设置 的特殊逻辑");

  // 特殊逻辑

}

function rectangularZoomClick() {

  console.log("处理 矩形缩放 的特殊逻辑");

  alert("处理 矩形缩放 的特殊逻辑");

  // 特殊逻辑

}

function horizontalZoomClick() {

  alert("处理 水平缩放 的特殊逻辑");

  console.log("处理 水平缩放 的特殊逻辑");

  // 特殊逻辑

}

function proportionalZoomClick() {

  alert("处理 等比缩放 的特殊逻辑");

  console.log("处理 等比缩放 的特殊逻辑");

  // 特殊逻辑

}

function visualizationTypeClick() {

  alert("处理 可视化类型 的特殊逻辑");

  console.log("处理 可视化类型 的特殊逻辑");

  // 特殊逻辑

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐