qq_47464003 2023-04-26 15:56 采纳率: 62.5%
浏览 34
已结题

前端el-button绑定事件


<div class="dish-information">
          <div id="box" v-for="dish in dishes":key="dish.dish_id" class="dish-information-area">
            <div class="dish-information-img">
              <img id="dish-img" v-bind:src="dish.dish_img_url">
            </div>
            <div class="dish-information-nameandprice">
              <div class="dish-name">{{dish.name}}</div>
              <div class="dish-price">{{dish.price}}</div>
            </div>
            <div class="dish-information-button">
              <el-button @click="buy"  v-bind:id="'button'+dish.dish_id" type="primary" round>点击下单</el-button>
            </div>
          </div>
          </div>

如上,这样的一堆el-button该怎样绑定事件,事件该咋实现。我想的就是点击后弹出一个小框,选择份数,辣度,备注等,再点击确定下单,同时这个按键对应的dish_id连同这些传到后端

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-26 16:08
    关注

    基于Monster 组和GPT的调写:

    可以在Vue实例中定义一个buy方法,并在el-button中使用@click="buy(dish.dish_id)"来绑定该方法,并传递当前dish.dish_id作为参数。

    在该buy方法中,你可以使用Vue.js的el-dialog组件来弹出一个小窗口来选择份数、辣度、备注等信息。同时,你可以将所需的参数存储在Vue实例的data属性中,当用户点击“确定”按钮时,将这些参数一并发送给后端进行处理。

    下面是一个简单的示例:

    
    <template>
      <div>
        <div v-for="dish in dishes" :key="dish.dish_id">
          <el-button @click="buy(dish.dish_id)">点击下单</el-button>
        </div>
        <el-dialog :visible.sync="showDialog">
          <el-input v-model="quantity" placeholder="请输入份数"></el-input>
          <el-input v-model="spiciness" placeholder="请输入辣度"></el-input>
          <el-input v-model="remark" placeholder="请输入备注"></el-input>
          <el-button @click="confirmOrder">确定下单</el-button>
        </el-dialog>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          dishes: [],
          showDialog: false,
          selectedDishId: null,
          quantity: null,
          spiciness: null,
          remark: null,
        }
      },
      methods: {
        buy(dishId) {
          this.selectedDishId = dishId
          this.showDialog = true
        },
        confirmOrder() {
          // Send selectedDishId, quantity, spiciness, and remark to backend
          // ...
          // Hide dialog
          this.showDialog = false
        },
      },
    }
    </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月26日

悬赏问题

  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Linux权限管理相关操作(求解答)
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表
  • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
  • ¥15 求一份STM32F10X的I2S外设库
  • ¥15 android 打包报错
  • ¥15 关于stm32的问题
  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?