欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue輸入框組件開發(fā)過程詳解

 更新時間:2022年03月01日 13:43:12   作者:GlimmerL  
這篇文章主要為大家詳細(xì)介紹了vue輸入框組件開發(fā)過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue輸入框組件開發(fā)過程的具體代碼,供大家參考,具體內(nèi)容如下

input-number.js

function isValueNumber(value) {
? ? return(/(^-?[0-9]+\.{1}\d+$)|(^-?[1-9]*$)|(^-?0{1}$)/).test(value + '');
}
Vue.component('input-number',{
?? ?template: '\
?? ?<div class=input-number>\
?? ??? ?<input\
?? ??? ??? ?type="text"\
?? ??? ??? ?:value="currentValue"\
?? ??? ??? ?@change="handleChange"\
?? ??? ??? ?@focus="keyControl">\
?? ??? ?<button \
?? ??? ??? ?@click="handleDown" \
?? ??? ??? ?:disabled="currentValue<=min">-</button>\
?? ??? ?<button \
?? ??? ??? ?@click="handleUp" \
?? ??? ??? ?:disabled="currentValue>=max">+</button>\
?? ?</div>',
?? ?data: function (){
?? ??? ?return {
?? ??? ??? ?currentValue: this.value,
?? ??? ??? ?currentStep: this.$parent.step
?? ??? ?}
?? ?},
?? ?watch: {
?? ??? ?currentValue: function (val){
?? ??? ??? ?this.$emit('input',val);
?? ??? ??? ?this.$emit('on-change',val);
?? ??? ?},
?? ??? ?value: function(val){
?? ??? ??? ?this.updateValue(val);
?? ??? ?}
?? ?},
?? ?methods: {
?? ??? ?handleDown: function(){
?? ??? ??? ?if(this.currentValue<=this.min) return;
?? ??? ??? ?this.currentValue-=this.currentStep;
?? ??? ?},
?? ??? ?handleUp: function(){
?? ??? ??? ?if(this.currentValue>=this.max) return;
?? ??? ??? ?this.currentValue+=this.currentStep;
?? ??? ?},
?? ??? ?updateValue: function(val){
?? ??? ??? ?if(val>this.max) val=this.max;
?? ??? ??? ?if(val<this.min) val=this.min;
?? ??? ??? ?this.currentValue=val;
?? ??? ?},
?? ??? ?handleChange: function(event){
? ? ? ? ? ? var val = event.target.value.trim();
? ? ? ? ? ? var max = this.max;
? ? ? ? ? ? var min = this.min;
? ? ? ? ? ? if(isValueNumber(val)) {
? ? ? ? ? ? ? ? val = Number(val);
? ? ? ? ? ? ? ? this.currentValue = val;
? ? ? ? ? ? ? ? if(val > max) {
? ? ? ? ? ? ? ? ? ? this.current = max;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(val < min) {
? ? ? ? ? ? ? ? ? ? this.current = min;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? //如果輸入的不是數(shù)字,將輸入的內(nèi)容重置為之前的currentValue
? ? ? ? ? ? ? ? event.target.value = this.currentValue;
? ? ? ? ? ? }
?? ??? ??? ?
?? ??? ?},
?? ??? ?keyControl: function(){
?? ??? ??? ?var _this=this;
?? ??? ??? ?$(window).keydown(function(e){
?? ??? ??? ??? ?if($('input')){
?? ??? ??? ??? ??? ?if(e.keyCode==38){
?? ??? ??? ??? ??? ??? ?_this.handleUp();
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?else if(e.keyCode==40){
?? ??? ??? ??? ??? ??? ?_this.handleDown();
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?});
?? ??? ?}
?? ?},
?? ?mounted: function(){
?? ??? ?this.updateValue(this.value);
?? ?},
?? ?props:{
?? ??? ?max:{
?? ??? ??? ?type: Number,
?? ??? ??? ?default: Infinity
?? ??? ?},
?? ??? ?min: {
?? ??? ??? ?type: Number,
?? ??? ??? ?default: -Infinity
?? ??? ?},
?? ??? ?value: {
?? ??? ??? ?type:Number,
?? ??? ??? ?default: 0
?? ??? ?},
?? ??? ?step: {
?? ??? ??? ?type:Number,
?? ??? ??? ?default: 1
?? ??? ?}
?? ?}
})

index.js

var app=new Vue({
?? ?el: "#app",
?? ?data: {
?? ??? ?value: 5,
?? ??? ?step: 10
?? ?}
})

index.html

<!DOCTYPE html>
<html>
?? ?<head>
?? ??? ?<meta charset="utf-8" />
?? ??? ?<title></title>
?? ??? ?<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
?? ??? ?<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
?? ?</head>
?? ?<body>
?? ??? ?<div id="app">
?? ??? ??? ?<input-number v-model="value" :max="100" :min="0"></input-number>
?? ??? ?</div>
?? ??? ?<script src="js/input-number.js" type="text/javascript" charset="utf-8"></script>
?? ??? ?<script src="js/index.js" type="text/javascript" charset="utf-8"></script>
?? ?</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue時間選擇控件的使用方式

    vue時間選擇控件的使用方式

    這篇文章主要介紹了vue時間選擇控件的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue返回上一頁面時回到原先滾動的位置的方法

    vue返回上一頁面時回到原先滾動的位置的方法

    這篇文章主要介紹了vue返回上一頁面時回到原先滾動的位置的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vite/Vuecli配置proxy代理解決跨域問題

    vite/Vuecli配置proxy代理解決跨域問題

    這篇文章主要介紹了vite/Vuecli配置proxy代理解決跨域問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 前端vue3項(xiàng)目中百度地圖的使用api以及操作實(shí)例

    前端vue3項(xiàng)目中百度地圖的使用api以及操作實(shí)例

    最近項(xiàng)目要用到百度地圖api,好久沒用到地圖,就百度了一番,但是找了好幾篇文章,發(fā)現(xiàn)都沒辦法成功實(shí)現(xiàn),現(xiàn)將方法記錄如下,下面這篇文章主要給大家介紹了關(guān)于前端vue3項(xiàng)目中百度地圖的使用api以及操作實(shí)例,需要的朋友可以參考下
    2023-05-05
  • 記一次vue-webpack項(xiàng)目優(yōu)化實(shí)踐詳解

    記一次vue-webpack項(xiàng)目優(yōu)化實(shí)踐詳解

    這篇文章主要介紹了記一次vue-webpack項(xiàng)目優(yōu)化實(shí)踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vue實(shí)現(xiàn)簡單的購物車案例

    Vue實(shí)現(xiàn)簡單的購物車案例

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡單的購物車案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue 修改 data 數(shù)據(jù)問題并實(shí)時顯示的方法

    vue 修改 data 數(shù)據(jù)問題并實(shí)時顯示的方法

    今天小編就為大家分享一篇vue 修改 data 數(shù)據(jù)問題并實(shí)時顯示的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue封裝一個圖案手勢鎖組件

    vue封裝一個圖案手勢鎖組件

    手勢鎖是常見的一種手機(jī)解鎖方式,本文主要介紹了vue封裝一個圖案手勢鎖組件,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 一文學(xué)會什么是vue.nextTick()

    一文學(xué)會什么是vue.nextTick()

    這篇文章主要介紹了一文學(xué)會什么是vue.nextTick(),下面文章圍繞主題的相關(guān)資料展開詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • 利用Vue實(shí)現(xiàn)卡牌翻轉(zhuǎn)的特效

    利用Vue實(shí)現(xiàn)卡牌翻轉(zhuǎn)的特效

    這篇文章主要介紹了如何利用Vue實(shí)現(xiàn)一個春節(jié)抽??撁?,采用了卡牌翻轉(zhuǎn)的形式。文中的實(shí)現(xiàn)方法講解詳細(xì),快跟隨小編一起學(xué)習(xí)一下吧
    2022-02-02

最新評論