微信搜索栏输入代码

微信搜索栏输入代码,第1张

首先配置app.json文件配置相应路径:编译后生成相应文件夹、行链及文件夹内的4个文件,一个文件夹即一个页面。;

所有的js方法都是用bindtap(点击事件)调用的。例:搜索(点击搜索调用a方法)Input文本框的属性:hidden="{{对应js里data中的内容}}。例:hidden="{{!inputShowed}}( input中的内容不显示) hidden="{{inputShowed}}(显示input中的内容)示例1:先做一个最简单的文本框戚握:在搜索框内输入想要搜索的内容,点击搜索就可以直接获取你想要的内容。

这是一个最简单的搜索框,点击搜索按钮调用接口完成搜索。基础代码如下:wxml

<view><view> <view class="weui-search-bar"> <view class="weui-search-bar__form"> <!-- 搜索框 --> <view class="weui-search-bar__box"> <icon class="weui-icon-search_in-box" type="search"档仔孙 size="14"></icon> <input type="text" class="weui-search-bar__input" placeholder="请输入搜索内容"/> </view> </view> <!-- 搜索按钮,调用搜索查询方法 --> <view class="weui-search-bar__cancel-btn" bindtap='方法名a'>搜索</view>

<!--pages/search/search.wxml-->

<van-search

  value="{{ value }}"

  placeholder="请输入搜索关键词"

  show-action

  input-align="center"

  bind:search="onSearch"

  bind:cancel="onCancel"

  bind:change="onChange"

    background="#4fc08d"

/>

<ListItem itemList="{{itemList}}" />

<view wx:if="{{kong}}" style="padding: 20pxtext-align: center">无更多数据</view>

<van-toast id="van-toast" />

{

  "usingComponents": {

    "van-search": "@vant/weapp/search/index",

    "ListItem":"/components/ListItem/ListItem",

    "van-toast": "@vant/weapp/toast/index"

  },

  "navigationBarTitleText": "搜索",

  "enablePullDownRefresh": true,

  "onReachBottomDistance": 0

}

const { goodsHttp } = require('../../http/api')

import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast.js'

Page({

    data: {

        value: ''念激,

        itemList:[],

        page:1,

        kong:false,

        isloding:true

    },

    onLoad(){

        this.init()

        if(this.data.isloding)return this.init()

    },

    async init(){

        try{

            this.setData({

                isloding:false

            })

            wx.showLoading({

              title: '别急哦~',

            启岁})

            let {goods:{data}} = await goodsHttp({title:this.data.value,

            page:this.data.page})

            data.forEach(r=>r.description='书籍是人类进步的电梯书籍是人类进步的电梯书籍是人类进步的电梯')

            if(this.data.page==1){

                this.data.itemList = []

            }

            this.setData({itemList:[...this.data.itemList,...data]})

            if(!data.length){

                this.setData({

                    kong:true

                })

            }

            else{

             this.setData({

                 kong:false

             })

            }

            Toast.clear()

            wx.hideLoading()

            this.setData({

                isloding:true

            })

        }catch(err){

            console.log(err)

        }

    },

    onReachBottom(){

        this.data.page++

        this.init()

    },

    onChange(e) {

        this.setData({

            value: e.detail,

        })

    },

    onSearch() {

        this.data.page = 1

        this.init(this.data.value)

        console.log('搜索' + this.data.value)

    },

    悄高睁onCancel() {

        /* encodeURIComponent('微信小程序') 转码 

        decodeURIComponent("%E4%BD%A0%E6%98%AF%E5%82%BB%E9%80%BC") 解码

        */

        this.data.value = ''

        this.init()

        this.data.page = 1

        console.log('取消' + this.data.value)

    },

    onPullDownRefresh: function () {

                this.data.page=1

                this.init()

            },

})

<!--components/ListItem/ListItem.wxml-->

<block wx:for="{{itemList}}" wx:key="index">

    <view class="flex item" bindtap="go" data-url="{{item.cover_url}}">

        <image class="img1" src="{{item.cover_url}}"></image>

        <view class="row">

            <view class="title">

                {{item.title}}

            </view>

            <view class="dec {{item.price?'van-multi-ellipsis--l2':'van-multi-ellipsis--l3'}}">

                {{item.description}}

            </view>

            <view class="common-sty" wx:if="{{item.price}}">

                <text>价格:{{item.price}}</text>

                <text>销量:{{item.sales}}</text>

                <text>收藏人数:{{item.collects_count}}</text>

            </view>

        </view>

    </view>

</block>

/* components/ListItem/ListItem.wxss */

/* @import '@vant/weapp/common/index.wxss' */

@import '/miniprogram_npm/@vant/weapp/common/index.wxss'

.flex{

    display: flex

  }

.item{

    padding:5px

}

.img1{

    width: 120px

    height: 120px

    display: block

    border-radius: 5px

}

.row{

    flex:1

    height: 120px

}

.title{

    padding:10px

    text-overflow: ellipsis

    display: -webkit-box

    -webkit-line-clamp: 1

    word-break: break-all

    -webkit-box-orient: vertical

    height:14px

    overflow: hidden

}

.dec{

    padding: 0 10px

    margin-top: 10px

}

.common-sty{

    font-size: 12px

    padding:10px

    color:rgb(66, 64, 64)

}

.common-sty text{

    margin-right: 10px

}

{

    "component": true,

    "usingComponents": {}

}

// components/ListItem/ListItem.js

Component({

    /**

     * 组件的属性列表

     */

    properties: {

        itemList:{

            type:Array,

            value:[{

                cover_url:"https://oss.shop.eduwork.cn/product/2020-0820-5f3e15bc69891.png",

                title:"人类的书籍",

                description:"人类进步的阶梯人类进步的阶梯"

            }]

        },

    },

    /**

     * 组件的初始数据

     */

    data: {

    },

    /**

     * 组件的方法列表

     */

    methods: {

        go(e){

            let url = e.currentTarget.dataset.url

            wx.navigateTo({

              url: '/pages/web/web?url='+url,

            })

        }

    }

})


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12514565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存