vue 表单输入绑定 简单实例

在这里插入图片描述

html

<!doctype html>
<html lang="en">
<style>
</style>

<head>
    <title>喜茶</title>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="../../bootstrap/css/bootstrap.min.css">
    <!-- <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css"> -->
</head>

<body>
    <div id="model">
        <div class=" jumbotron-fluid jumbotron p-3 bg-success">
            <div class="container">
                <h1 class="text-white">喜茶</h1>
                <span class="badge badge-pill bg-primary">订单平台</span>
            </div>
        </div>
        <div class="container">
            <!-- 饮品 -->
            <div class=" row">
                <div class="col-md-6">
                    <div class="card p-1 m-1" style="height: 6rem">
                        <div class="card-body">
                            <label>饮品</label>
                            <div class="form-group">
                                <select v-model="yp" class="form-control">
                                    <option disabled value="">请选择</option>
                                    <option>红茶</option>
                                    <option>绿茶</option>
                                    <option>蜜茶</option>
                                </select>
                            </div>
                        </div>
                    </div>

                    <!-- 杯型 -->
                     <div class="card p-1 m-1" style="height: 6rem">
                        <div class="card-body">
                            <label class="form-check-label">杯型</label>
                            <div  class="form-group">
                                <div v-for='b of bx' class="form-check form-check-inline">
                                    <label>
                                        <input  type="radio" v-model="bxChecked" name="bxChecked" id=""
                                            :value="b" >{{b}}
                                    </label>
                                </div>
                                
                            </div>
                        </div>
                    </div>

                    <!-- 甜度 -->
                    <div class="card p-1 m-1" style="height: 6rem">
                        <div class="card-body">
                            <label class="form-check-label">甜度</label>
                            <div class="form-group">
                                <div class="form-check form-check-inline">
                                    <label>
                                    <input v-model="td" type="radio" name="checkedValue1" id="" value="多糖" checked>
                                        多糖
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="td" type="radio" name="checkedValue1" id="" value="标准糖">
                                        标准糖
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="td" type="radio" name="checkedValue1" id="" value="半塘">
                                        半糖
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="td" type="radio" name="checkedValue1" id="" value="无糖">
                                        无糖
                                    </label>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- 温度 -->
                    <div class="card p-1 m-1" style="height: 6rem">
                        <div class="card-body">
                            <label class="form-check-label">温度</label>
                            <div class="form-group">
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="wd" type="radio" name="checkedValue2" id="" value="常温" checked>
                                        常温
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="wd" type="radio" name="checkedValue2" id="" value="加冰">
                                        加冰
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="wd" type="radio" name="checkedValue2" id="" value="加热">
                                        加热
                                    </label>
                                </div>
                            </div>
                        </div>
                    </div>
                    <!-- 配料 -->
                    <div class="card p-1 m-1" style="height: 6rem">
                        <div class="card-body">
                            <label class="form-check-label">配料</label>
                            <div class="form-group">
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="pl" type="checkbox" name="checkedValue2" id="" value="红豆">
                                        红豆
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="pl" type="checkbox" name="checkedValue2" id="" value="珍珠">
                                        珍珠
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="pl" type="checkbox" name="checkedValue2" id="" value="牛奶">
                                        牛奶
                                    </label>
                                </div>
                                <div class="form-check form-check-inline">
                                    <label>
                                        <input v-model="pl" type="checkbox" name="checkedValue2" id="" value="椰果">
                                        椰果
                                    </label>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!--选择杯子大小 -->

                     <div class="row">
                        <div class="col-md-12" style="text-align: center;">
                            <button v-for="bt of bx" @click="onBx(bt)" :class="[bt===bxChecked?'active':'']" 
                            type="button"  class="btn btn btn-outline-danger m-1">{{bt}}</button>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12">
                            <button @click="addDrink" type="button" class="btn btn-primary btn-block">下单</button>
                        </div>
                    </div>

                </div>
                <div class="col-md-6">
                    <p>{{ yp }}--{{ bx }}--{{ td }}--{{ wd }}--{{ pl }}--|{{btnx}}</p>
                    <table class="table table-hover">
                        <thead>
                            <tr>
                                <th>饮品</th>
                                <th>规格</th>
                                <th></th>
                                <th>温度</th>
                                <th>配料</th>
                                <th>出货</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr v-for="v of drink" :class="[v.ch?'text-danger finish':'']">
                                <td>{{ v.yp }}</td>
                                <td>{{ v.bx }}</td>
                                <td>{{ v.td }}</td>
                                <td>{{ v.wd }}</td>
                                <td>
                                    <span v-for="(v1,i) of v.pl" style="margin-left:6px"
                                        class="badge badge-pill badge-danger">{{v1}}</span>
                                </td>
                                <td>
                                    <button type="button" @click="ch(v)" class="btn btn-outline-success">出货</button>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</body>
<script src="vue.min.js"></script>


</html>

js:

let vm = new Vue({
    el: '#model',
    data: {
        drink: [],
        yp: '',
        bx: ['超大杯','大杯','中杯','小杯'],
        bxChecked:'超大杯',
        td: '',
        wd: '',
        pl: [],
        btnx: '',
    },
    methods: {
        addDrink: function () {
            let newDrink = {
                yp: this.yp,
                bx: this.bx,
                td: this.td,
                wd: this.wd,
                pl: this.pl
            }
            this.drink.unshift(newDrink);
        },
        onBx(bt){//实现杯型按钮与单选按钮的联动
            console.log('bt',bt);
            this.bxChecked=bt;
        }
        ch(v){//点击出货那一行字体变红并出现红线
            v.ch=true;
        }
    }
});

点击出货后
点击出货后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值