vue下拉框值改变事件_vue和element ui 下拉框select的change事件

1 在线编辑测试工具

编辑好代码后点击 run 即可

2 vue原生写法

2.1 html部分

新增

{{ drug.name }}

刪除
尚未新增任何資料
總金額:{{ totalMoney }}

{{$data|json}}

2.2 js部分

new Vue({

el: '#app',

data() {

return {

selected: null,

items: [],

// 按照系統正常流程,這邊藥物應該是有個編號值的

// 而且為了統一性,保持資料單一來源也是很重要的

// item 就記住他用了哪個藥物的 id ,再從這裡取得是最保險的做法

drugs: [

{ id: 1, name: 'A藥物', unit: '個', 'price': 5},

{ id: 2, name: 'B藥物', unit: '條', 'price': 6},

{ id: 3, name: 'C藥物', unit: '坨', 'price': 7},

{ id: 4, name: 'D藥物', unit: '顆', 'price': 8},

],

totalMoney: 0

}

},

methods: {

add() {

this.items.push({

drug_id: null,

use: '',

rate: '',

amount: '',

money: 0,

})

},

// 取得藥物

getDrug(drugId) {

if(!drugId) return ""

// 透過 id 取得

return this.drugs.find( d => d.id === drugId)

},

// 計算金額

calculateMoney(item) {

const drug = this.getDrug(item.drug_id)

// 照你的算法~

let money = (parseFloat(drug.price) * parseFloat(item.amount)).toFixed(2)

// 這裡可以簡化成這樣

item.money = isNaN(money) ? parseFloat(0.00) : money

// 任何金額異動就重新計算總金額

this.calculateTotalMoney()

},

// 計算總金額

calculateTotalMoney() {

// 這裡的大致意思是說,從 items 每個元素中取得其 money 值,在進行加總 (reduce)

this.totalMoney = parseFloat(this.items.map( i => parseFloat(i.money)).reduce( (a, b) => (a + b), 0)).toFixed(2)

},

// 選擇藥物時

onSelectedDrug(event,item) {

//打印出绑定的对象

console.log(this.selected.id+""+this.selected.name+""+this.selected.price);

item.drug_id = parseInt(event.target.value)

this.calculateMoney(item)

},

onItemAmountInput(event, item) {

const amount = parseFloat(event.target.value)

// 一樣就不繼續了

if(item.amount === amount) return

// 檢測輸入的是否為數字

if(this.isNumeric(event.target.value)) {

item.amount = amount

// 計算金額

this.calculateMoney(item)

} else {

item.amount = 0

}

},

remove(itemIndex) {

// 刪除

this.items.splice(itemIndex, 1)

// 重新計算總金額

this.calculateTotalMoney()

},

// 簡易的判斷是否為數字的 func

isNumeric(n) {

return !isNaN(parseFloat(n)) && isFinite(n);

}

}

})

2.3 css部分

body {

padding: 30px;

}

.add-btn {

margin-bottom: 10px;

}

.right {

text-align: right;

}

.empty {

text-align: center;

font-size: 20px;

color: #e2e2e2;

}

2.4 结果展示

3 element 的下拉框事件

Element

// 1 html

// 2 js

var Main = {

data() {

return {

options: [{

value: '选项1',

label: '黄金糕'

}, {

value: '选项2',

label: '双皮奶'

}, {

value: '选项3',

label: '蚵仔煎'

}, {

value: '选项4',

label: '龙须面'

}, {

value: '选项5',

label: '北京烤鸭'

}],

value: ''

}

},

methods:{

getValue : function(value){

alert(value.value)

alert(value.label)

}

}

}

var Ctor = Vue.extend(Main)

new Ctor().$mount('#app')

// 3 css

@import url("//unpkg.com/element-ui@1.4.2/lib/theme-default/index.css");

3.2 代码结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的常用命令及数据类型

Redis支持的五种数据类型 字符串 (string)字符串列表 (list)散列 (hash)字符串集合 (set)有序字符串集合 (sorted-set)key(键) keys * 获取所有的key select 0 选择第一个库 move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不…

collection集合 多少钱_Java集合框架大汇总,建议收藏

Java集合Java集合框架:是一种工具类,就像是一个容器可以存储任意数量的具有共同属性的对象。Java集合中成员很丰富,常用的集合有ArrayList,HashMap,HashSet等。线程安全的有Vector,HashTable。线程不安全的…

项目管理思考——我适合做项目经理吗

一般来说项目经理这个职位是从事IT工作的诸位兄弟姐妹的奋斗目标。而IT行业的特点决定了外行很难领导内行,因此这个职位上的人员都是经历过一线开发的人员一步一个脚印升上去的,而很少有空降一个外行来担当的情况发生。 不同的公司职位设置不同&#xff…

[html] IE6文字溢出BUG(别名:多出来的猪、谍影重重)怎么解决呢?

[html] IE6文字溢出BUG(别名:多出来的猪、谍影重重)怎么解决呢? 删除注释或不设置浮动个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣…

vueinput里只能输入数字_大佬们,vue里面 限制input只能输入数字怎么做啊?

可以参考下面的,目前这个是限制,只能输入数字,小数点只保留2位,限制不能输入空格new Vue({el: "#app",data: {a: ""},methods: {change(val) {val val.replace(/(^\s*)|(\s*$)/g, "")if(!val) {th…

[html] 你知道著名的3像素Bug指的是什么吗?怎么解决呢?

[html] 你知道著名的3像素Bug指的是什么吗?怎么解决呢? img标签渲染之后下方会出现几个像素(我用谷歌测试是4px, 火狐3.5px)的空白; img是行内元素,默认display:inline; 它与文本的默认行为类似…

Redis的常用功能

排序: sort mylist 排序 sort mylist alpha desc limit 0 2 字母排序 sort list by it:* desc by命令 sort list by it:* desc get it:* get参数 sort list by it:* desc get it:* store sorc:result sort命令之store参数:表示把sort查询的…

python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式

环境:Pythonkeras,后端为Tensorflow 训练集:MNIST 对于如何训练一个识别手写数字的神经网络,网上资源十分丰富,并且能达到相当高的精度。但是很少有人涉及到如何将图片输入到网络中并让已经训练好的模型惊醒识别&#…

hive 导出json格式 文件_hive存储json格式文件

hive从0.12版本以后就开始自身支持json文件的格式了1.文件格式下面是测试用的文件预览格式,我将其存储为jsonTest.json文件,放在了/root目录下{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click b…

HDU 4033 Regular Polygon(二分+高精度)

比赛时没做出来,最后10 钟时倒是想枚举每个角度,精度估计上可能会出问题; 后来听“理宝”说可以暴力枚举边的长度,精确到0.001,数据恰好10^7,T_T~~ vongang说可以用二分做,也就是官方解题报告的…

[html] html5点击返回键怎样不让它返回上一页?

[html] html5点击返回键怎样不让它返回上一页? $(function() {if (window.history && window.history.pushState) {$(window).on(popstate, function () {window.history.pushState(forward, null, #);window.history.forward(1);});}window.history.pushSt…

python怎么输出结果_Python中print()常用输出方法

print函数用法 1.输出字符串 print Hello World print "Hello World" print (Hello World) print ("Hello World") [注] 对于Python 3.0及以上版本,print是函数,因此需要编写print ()而不是print。 输出结果: Hello Worl…

Redis的备份与恢复

备份 dump.rdb:RDB方式的备份文件 appendonly.aof:AOF方式的备份文件rdb 备份处理 # 编辑redis.conf文件,找到如下参数,默认开启。 save 900 1 save 300 10 save 60 10000aop备份处理 # 编辑redis.conf文件,找到如下参…

javascript网页自动填表_JavaScript脚本实现网页批量自动勾选及内容填写

我们知道,大部分学校每个学期都有教学评估。对于我这种习惯性好评,老师又真心不错的人,十多个老师的评价都是good,这是赤裸裸的重复劳动啊。于是我动了歪念头...嘿嘿嘿1.登录教学评估的网页,选择一位老师:如…

java 修改 jar 包文件内容的一个实例

开发这个小工具的初衷是为了修改工具 jar 包中的配置文件 本来打算将这个功能集成到 工具 jar 包自身 但是这里貌似有点儿问题,因为该 jar 包文件当前正在被 java 虚拟机使用,所以无法对其进行修改操作~ 这里我有点儿疑惑,难道不是将 jar 包整…

python画图灰白_python 站点资料插值画图及白化

import cmaps import maskout import pandas as pd import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import Rbf from mpl_toolkits.basemap import Basemap plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文 plt.rcParams[axes.unicode_…

[html] 在普通网页中如何调用html5+的plus对象?

[html] 在普通网页中如何调用html5的plus对象? document.addEventListener( "plusready", onPlusReady, false ); onPlusReady 函数中就可以引用plus对象个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定…

算法之归并排序

package com.ebiz.sort;import java.util.Arrays;/*** author YHj* create 2019-09-03 22:21* /*** 归并排序(递归)** ①. 将序列每相邻两个数字进行归并操作,形成 floor(n/2)个序列* ②. 执行①直到每组有一个元素 * ③. 各组之间进行比较*…

eureka需要替换吗_nacos无缝替换eureka

首先安装好nacos之后直接引入客户端依赖和配置文件,同时把eureka的内容去掉从nacos官网 https://nacos.io/zh-cn/index.html 下载安装包下载好之后解压,打开配置文件 conf/application.properties 配置一下mysql和地址,其他的的按需配置serve…

程旭元系统漫画第三期:加班 !

对于苦逼的程旭元来说 加班已经变成了生活中不可缺少的部分 他的原则是不能像胖子那样贪吃 不能像销售员那样狡诈 一定要尽忠职守 精忠报国 !老板说什么他就做什么! 对于一个从来只说加班不加工资的boss来说 唯命是从就是存活在公司的最好方式~ 但是有…