實現(xiàn)效果: 當input獲取焦點時,點擊按鈕'+'和'上鍵',按鈕'-'和'下鍵'分別使input里的數(shù)字+1和-1
出現(xiàn)效果: 鼠標點擊'-'再按'下鍵'數(shù)字才減,鼠標點擊'+'再按'上鍵'數(shù)字才加
父組件:
<div id="app">
<input-number v-model="value" :max="10" :min="0"></input-number>
</div>
子組件:
Vue.component('input-number', {
template:'\
<div class="input-number">\
<input type="text"\
:value="currentValue"\
@change="handleChange"\
v-focus="focus">\
<button\
@click.keyup.down="handleDown"\
:disabled="currentValue <= min">-</button>\
<button\
@click.keyup.up="handleUp"\
:disabled="currentValue >= max">+</button>\
</div>',
props: {
max: {
type: Number,
default: Infinity
},
min: {
type: Number,
default: -Infinity
},
value: {
type: Number,
default: 0
}
},
data: function () {
return {
currentValue: this.value
}
},
watch: {
currentValue: function (val) {
this.$emit('input', val);
this.$emit('on-change', val);
},
value: function (val) {
this.updateValue(val);
}
},
methods: {
handleDown: function () {
console.log('下鍵')
// if (this.currentValue <= this.min) return;
// this.currentValue -= 1;
},
handleUp: function () {
console.log('上鍵')
// if (this.currentValue >= this.max) return;
// this.currentValue += 1;
},
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.currentValue = max;
} else if(val < min) {
this.currnetValue = min;
}
} else {
event.target.value = this.currentValue;
}
}
},
mounted: function () {
this.updateValue(this.value);
}
必須要自定義指令嗎?通過操作具體元素才能實現(xiàn)嗎?
怎么實現(xiàn)求大神幫助!!!
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。