原创 微信小程序自定義組件-城市選擇

上篇文章有介紹一些小程序的自定義組件語法,這篇文章就不多做贅述,重點介紹組件的實現邏輯。 先把效果圖貼出來,看看要實現的效果:   城市選擇效果圖.gif 首先還是設置佈局,從實現效果看,組件可分成三個部分:展示城市數據的二級列表、側邊

原创 微信小程序自定義組件-可清除的input組件

最近正在做的一個小程序項目中需要用到一個可清除的輸入框控件,爲了在項目中使用方便以及方便其他項目直接使用,便封裝了一個可清除的input自定義組件。 組件需要達到的需求是:輸入框內沒有內容時,刪除按鈕隱藏;當輸入框內有內容時,刪除按鈕顯示

原创 React-redux的原理以及簡單使用

當一個react項目組件層級越來越深,頁面越來越多的時候,數據在各個組件層級和頁面之間傳遞的需求就會比較多,很多變量也需要做成可全局管理的。在這個時候,redux和react-redux的使用就很有必要了。它們能幫助我們很方便的進

原创 Android源碼分析-setContentView加載佈局流程

上篇文章追溯了Android源碼中Activity的啓動流程,那麼Activity啓動之後,是如何加載佈局的呢?這篇文章我們繼續來追溯這一塊的Android源碼。 Activity->setContentView public voi

原创 Android源碼分析-Android9.0下的Activity啓動流程

前言 最近在閱讀Android源碼時,發現最新的Android9.0源碼中startActivity啓動Activity的流程相比於低版本的Android源碼來說改動較大。故寫下此文,記錄下源碼追蹤流程,方便以後自己複查,同時也分享給

原创 事件分發機制注意點總結

1、同一個事件序列是指從手指接觸屏幕的那一刻起,到手指離開屏幕的那一刻結束,在這個過程中所產生的一系列事件,這個事件序列以down事件開始,中間含有數量不定的move事件,最終以up事件結束。 2、正常情況下,一個事件序列只能被一個V

原创 React通過redux緩存列表數據以及滑動位置,回退時恢復頁面狀態

在使用React和React-router實現單頁面應用時,會有這樣一個場景:從列表頁面點擊某項條目進入詳情頁,然後回退至列表頁面時,列表頁面會重新刷新,不僅數據重新獲取了,滾動條也回到了頂部。用戶要繼續查看剩餘數據的話,需要重新滑動

原创 create-react-app同時對多個框架(antd+antd-mobile)做按需加載的方法

在React項目開發中,經常需要引用一些實用的第三方框架。在使用一些比較龐大的第三方框架時,框架內的各種資源文件數量巨大,這時,如果我們在每次使用框架時,都將框架內所有資源都全部加載的話,這將使得頁面的性能大大降低。這時,我們就需要對

原创 JavaScript中String類型的一些實用擴展方法

/**  * 是否以某一字符串開頭  * @param s  * @returns {boolean}  */ String.prototype.startWith = function (s) {     if (s == null

原创 React通過redux-persist持久化數據存儲

在React項目中,我們經常會通過redux以及react-redux來存儲和管理全局數據。但是通過redux存儲全局數據時,會有這麼一個問題,如果用戶刷新了網頁,那麼我們通過redux存儲的全局數據就會被全部清空,比如登錄信息等。

原创 React對fetch的簡單封裝

import {getStrValue, isObjNull} from "./common"; export function fetchPost(url, params, header) { if (isObjNull(

原创 JavaScript格式化Date類型的擴展方法

//yyyy-MM-dd hh:mm:ss Date.prototype.format = function (fmt) { let o = { "M+": this.getMonth() + 1,

原创 React-redux的原理以及使用

當一個react項目組件層級越來越深,頁面越來越多的時候,數據在各個組件層級和頁面之間傳遞的需求就會比較多,很多變量也需要做成可全局管理的。在這個時候,redux和react-redux的使用就很有必要了。它們能幫助我們很方便的進行項

原创 React計算antd的TreeSelect組件所選中的子節點數量

antd的TreeSelect組件在處理例如公司層級、學科系統、分類目錄等等的樹形選擇需求時很好用。 在使用這個組件時,我們往往需要獲取所選中的所有節點以及所選中的所有子節點的數量。 查看TreeSelect的api找到了組件的選中回

原创 去掉antd的Input組件獲取焦點時的藍色邊框

antd的Input輸入框組件在獲取焦點時會有藍色的邊框顯示,最初嘗試通過設置outline:none的方法去掉這個邊框,但是發現這個方法不起作用。 最終通過在F12調試頁面下的Elements選項下的多次觀察和實驗,發現antd的I