成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么從零開發(fā)微信小程序搜索組件-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關怎么從零開發(fā)微信小程序搜索組件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都網站建設、成都網站制作過程中,需要針對客戶的行業(yè)特點、產品特性、目標受眾和市場情況進行定位分析,以確定網站的風格、色彩、版式、交互等方面的設計方向。成都創(chuàng)新互聯(lián)還需要根據客戶的需求進行功能模塊的開發(fā)和設計,包括內容管理、前臺展示、用戶權限管理、數據統(tǒng)計和安全保護等功能。

如何從零開發(fā)微信小程序搜索組件

為組件設置一個容器,在容器中放置搜索圖標、輸入框、清除文字按鈕和搜索按鈕。

怎么從零開發(fā)微信小程序搜索組件

<view class="input-wrapper">
    <icon class="search-icon"/>
    <input
        placeholder='{{placeholder}}' 
        value='{{inputValue}}' 
        bindinput='handleInput' 
        bindconfirm='handleSearch'
        bindfocus='inputFocused'>
    </input>
    <view class="close-icon-wrapper">
        <icon class="close-icon"/>
    </view>
    搜索
</view>

組件樣式(推薦學習:小程序開發(fā))

container:高度 100 rpx,背景色 #eee,flex 布局。

input-wrapper:高度 80 rpx,背景色 #fff,flex 布局,border-radius: 20rpx。

search-icon:寬高 32 rpx。

input:字體和光標顏色 #000,字體大小 32 rpx。

close-icon-wrapper:寬高 80 rpx,絕對定位。

text:搜索按鈕寬 110 rpx,高 65 rpx,絕對定位,左邊框 2rpx solid #eee。

.container {
    background: #eee;
    height: 100rpx;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.input-wrapper {
    display: flex;
    align-items: center;
    height: 80rpx;
    width: 80%;
    background: #fff;
    border-radius: 20rpx;
}
.input-wrapper .search-icon {
    margin-left: 20rpx;
    width: 32rpx;
    height: 32rpx;
}
.input-wrapper input {
    margin-left: 10rpx;
    color: #000;
    font-size: 32rpx;
    caret-color: #000;
    width: 60%;
}
.input-wrapper .close-icon-wrapper{
    position: absolute;
    left: 480rpx;
    width: 80rpx;
    height: 80rpx;
    background:#fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.input-wrapper .close-icon {
    width: 42rpx;
    height: 42rpx;
}
.input-wrapper text {
    position: absolute;
    right: 80rpx;
    width: 110rpx;
    height: 65rpx;
    padding: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32rpx;
    border-left: 2rpx solid #eee;
}

組件功能

怎么從零開發(fā)微信小程序搜索組件

組件的構造器中要注意區(qū)分 properties 和 data,properties 中寫組件的對外屬性,data 寫組件的對內屬性。在本搜索組件中 placeholder 和 value 從頁面?zhèn)鱽?,所以它們寫?properties 中,控制清除按鈕是否出現(xiàn)的 showCloseIcon 要寫在 data 中。

properties: {
    placeholder: {
        type: String,
        value: '搜索' // 如果頁面不傳placeholder,顯示“搜索”
    },
    inputValue: {
        type: String
    }
},
data: {
    showCloseIcon: false,
},

2、方法設置

事件流程

(1)光標不聚焦,沒有任何輸入——顯示搜索圖標、placeholder和搜索按鈕。

(2)光標聚焦,沒有任何輸入——光標閃爍,顯示搜索圖標、placeholder和搜索按鈕。

(3)光標聚焦,有輸入——光標閃爍,顯示搜索圖標、輸入文字、清除按鈕和搜索按鈕。

(4)光標不聚焦,有輸入——顯示搜索圖標、輸入文字、清除按鈕和搜索按鈕。

(5)按回車搜索——清除按鈕隱藏。

(6)點擊搜索按鈕——清除按鈕隱藏。

由此可見,需要 input 組件的聚焦和鍵盤輸入事件。

怎么從零開發(fā)微信小程序搜索組件

<view
    placeholder='{{placeholder}}' 
    value='{{inputValue}}' 
    bindinput='handleInput' 
    bindconfirm='handleSearch'
    bindfocus='inputFocused'>
</view>

inputFocused:如果聚焦時,輸入框中有內容,顯示 closeIcon;

handleInput:如果輸入時沒有內容,不顯示 closeIcon,有內容,顯示 closeIcon 并把值存入 value。

handleSearch:點擊回車后,不顯示 closeIcon。

triggerEvent:自定義組件觸發(fā)事件時,需要使用 triggerEvent 方法,指定事件名、detail對象和事件選項。

inputFocused(e) {
            if (e.detail.value !== '') {
                this.setData({
                    showCloseIcon: true,
                });
            }
        },
        handleInput(e) {
            if (e.detail.value == '') {
                this.setData({
                    showCloseIcon: false,
                });
            } else {
                this.setData({
                    showCloseIcon: true,
                });
                this.triggerEvent('handleInput', {
                    value: e.detail.value
                });
            }
        },
        handleSearch() { // 點擊鍵盤上的回車,調用此方法
            this.setData({
                showCloseIcon: false,
            });
            console.log('handleSearch', this.data.inputValue);
        },

搜索分別為 closeIcon 和 搜索按鈕添加點擊事件。

分別為 closeIcon 和 搜索按鈕添加點擊事件。

clearValue() {
            this.triggerEvent('handleInput', {
                value: ''
            });
            this.setData({
                showCloseIcon: false,
            });
        },
        onTap() {
            this.setData({
                showCloseIcon: false,
            });
            console.log('onTap', this.data.inputValue);
        },組件 json
{
  component:true
}

頁面 json

工程的名字是 cookbook,這里組件前綴統(tǒng)一為 ck。

{
    usingComponents:{
        ck-input:/components/search/index
    }
}

頁面 wxml

<input
    placeholder='搜你想吃的'
    inputValue={{inputValue}}
    bind:handleInput=handleInput>
</input>

頁面 js

handleInput(e) {
        this.setData({
            inputValue: e.detail.value,
        });
    },

關于怎么從零開發(fā)微信小程序搜索組件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網站欄目:怎么從零開發(fā)微信小程序搜索組件-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article16/dpssdg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、域名注冊、營銷型網站建設軟件開發(fā)、網站內鏈、微信公眾號

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名
隆昌县| 菏泽市| 庄河市| 黑龙江省| 杂多县| 西吉县| 读书| 措美县| 兴义市| 海林市| 循化| 蓝山县| 青浦区| 吉木萨尔县| 盘山县| 普洱| 资源县| 南宫市| 光山县| 邯郸县| 怀化市| 新化县| 水城县| 神木县| 灵石县| 吉安市| 高唐县| 阳信县| 南漳县| 攀枝花市| 宝山区| 滕州市| 建阳市| 鄄城县| 明水县| 河曲县| 柞水县| 沅江市| 闽清县| 库尔勒市| 叶城县|