【UniApp】-uni-app-处理项目输入数据(苹果计算器)
生活随笔
收集整理的這篇文章主要介紹了
【UniApp】-uni-app-处理项目输入数据(苹果计算器)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- 上一篇文章完成了項目的基本布局,這一篇文章我們來處理一下項目的輸入數據
- 項目的輸入數據主要是通過按鍵來輸入的,所以我們需要對按鍵進行處理
- 那么我們就來看一下 uni-app-處理項目輸入數據
步入正題
- 在上篇文章中,我在 data 中定義了一個 buttons
- 每個元素中,有一個 func 屬性,這個屬性就是告訴程序如果按下的話,需要執行什么操作,這里可以采用 switch 語句來進行處理
好,那么我們就來看一下具體的代碼,在上一篇中,我給每一個元素都綁定了一個點擊事件,接下來只需要在這個點擊事件中進行處理就可以了,代碼如下:
<script>
export default {
methods: {
operate(item) {
const func = item.func;
const params = item.params;
switch (func) {
case "operator":
this.operator(params);
break;
case "inputText":
this.inputText(params);
break;
}
},
operator(params) {
console.log("計算操作");
},
inputText(params) {
console.log("輸入操作");
}
}
}
</script>
好,那么我們來看一下效果,點擊運算符,控制臺輸出 計算操作,點擊數字,控制臺輸出 輸入操作,效果如下:
首先來處理輸入操作,也就是處理輸入操作,好了,廢話不多說直接肝代碼,完成 inputText 方法。
主要處理的邏輯分別為:
- 如果輸入的是
.,并且如果已經有了.,那么就什么都不做
if (params == "." && this.showValue.indexOf(".") > -1) return;
- 判斷當前輸入內容長度是否超過 11, 如果超過了,就什么都不做
if (this.showValue.length >= 11) return;
- 如果輸入的不是
.,并且如果當前輸入內容是0,那么就把當前輸入內容替換為輸入的內容 - 如果是其它內容,那么就追加到當前輸入內容的后面
if (params != "." && this.showValue == "0") {
this.showValue = params + "";
} else {
// 如果是其它內容, 那么就追加
this.showValue += params + "";
}
- 如果是整數,還需要添加位數符號,比如
1,000,000
if (params != "." && this.showValue.indexOf(".") == -1) {
let num = parseInt(this.showValue.replaceAll(",", ""));
this.showValue = num.toLocaleString();
}
好了理清楚大致的思路之后,接下來就是將思路轉變為代碼即可,最終代碼如下:
inputText(params) {
// console.log("輸入操作");
// 如果輸入的是., 并且已經有., 那么什么都不做
if (params == "." && this.showValue.indexOf(".") > -1) return;
// 判斷當前輸入內容長度是否超過11, 超過11也什么都不做
if (this.showValue.length >= 11) return;
// 如果輸入的不是., 并且當前沒有數據, 那么就直接賦值
if (params != "." && this.showValue == "0") {
this.showValue = params + "";
} else {
// 如果是其它內容, 那么就追加
this.showValue += params + "";
}
// 如果是整數, 還需要添加位數符號
if (params != "." && this.showValue.indexOf(".") == -1) {
let num = parseInt(this.showValue.replaceAll(",", ""));
this.showValue = num.toLocaleString();
}
}
這里最為關鍵的代碼就是添加位數符號, 通過 replaceAll(",", "") 將 , 替換為空字符串, 然后通過 parseInt 將字符串轉換為整數, 最后通過 toLocaleString 將整數轉換為帶有位數符號的字符串, 這樣就完成了整數的位數符號添加。
運行測試效果:
End
- 如果你有任何問題或建議,歡迎在下方留言,我會盡快回復
- 如果你覺得本文對你有幫助,歡迎點贊、收藏,你的支持是我寫作的最大動力
總結
以上是生活随笔為你收集整理的【UniApp】-uni-app-处理项目输入数据(苹果计算器)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生物类教研论文期刊
- 下一篇: Netty源码学习9——从Timer到S