微信小程序原生的下拉框组件

5 篇文章 1 订阅
订阅专栏

前言

近日开发微信小程序时,需要一个下拉框的组件,使用和PC端下拉框一样的方式会显得很丑,于是发现微信官方API有个wx.showActionSheet,但是有诸多限制,例如:最大长度只能是6项,多选等等。

由于业务需要,下面用到下拉框(actionSheet)支持自定义 高度, 选项,单选,多选,以及遮罩层的透明度等参数。

效果

微信小程序原生的下拉框组件

看完效果直接上代码

组件代码

index.js

Component({
  properties: {
    //数据集
    options: {
      type: JSON,
      value: ''
    },
    //内容层高度
    topsHeight: {
      type: String,
      value: '40%'
    },
    //遮罩层透明度
    opacity: {
      type: String,
      value: '0.5'
    },
    //是否单选
    IsSingle: {
      type: Boolean,
      value: true
    }
  },
  data: {
    isShow: false,
    contentAnimate: null, //内容动画
    overlayAnimate: null, //遮罩层动画
  },
  methods: {

    /**
     * 关闭
     */
    _close: function () {
      var that = this;
      this.contentAnimate.bottom("-40%").step();
      this.overlayAnimate.opacity(0).step();
      this.setData({
        contentAnimate: this.contentAnimate.export(),
        overlayAnimate: this.overlayAnimate.export(),
      });
      setTimeout(function () {
        that.setData({
          isShow: false,
        })
      }, 200)
    },
    /**
     * 显示
     */
    _show: function () {
      var that = this;
      that.setData({
        isShow: true,
      })
      // 容器上弹
      var contentAnimate = wx.createAnimation({
        duration: 200,
      })
      contentAnimate.bottom(0).step();
      //遮罩层
      var overlayAnimate = wx.createAnimation({
        duration: 250,
      })
      overlayAnimate.opacity(`${this.properties.opacity}`).step();
      this.contentAnimate = contentAnimate;
      this.overlayAnimate = overlayAnimate;
      this.setData({
        contentAnimate: contentAnimate.export(),
        overlayAnimate: overlayAnimate.export(),
      })
    },
    /**
     * 设置选中
     */
    _setSelect: function (even) {
      let data = this.data.options;
      let index = even.currentTarget.dataset.index;
      if (this.properties.IsSingle) {
        data.forEach((item, i) => {
          if (i == index) {
            item.Selected = !item.Selected;
          }
          else {
            item.Selected = false;
          }
        });
      }
      else {
        data[index].Selected = !data[index].Selected;
      }
      this.setData({
        options: data
      });
    },
    /**
     * 确定 
     * */
    _submit: function () {
      this.triggerEvent('OnSelectFinish', this.properties.options);
      this._close();
    },
    /**
     * 外部方法调用,显示组件
     */
    showPopup: function () {
      this._show();
    }
  }
})

index.json

{
  "usingComponents": {},
  "component": true
}

index.wxml

<view class="selectComponent" style="height:{{topsHeight}};bottom: -{{topsHeight}};" wx:if="{{isShow}}" animation="{{contentAnimate}}">
<image src="../../images/icon_close_gray.png" class="close" catchtap="_close"></image>
  <view class="select-ul">
    <view class="select-li" wx:for="{{options}}">
      {{item.Text}}
      <block wx:if="{{IsSingle}}">
        <view class="checkbox {{item.Selected ? 'singlechecked' : 'singleunchecked'}}" data-index="{{index}}" bindtap="_setSelect"></view>
      </block>
      <block wx:else>
        <view data-single="{{IsSingle}}" class="checkbox {{item.Selected ? 'checked' : 'unchecked'}}" data-index="{{index}}" bindtap="_setSelect"></view>
      </block>
    </view>
  </view>
  <view class="SubmitBtn" bindtap="_submit">
    确 定
  </view>
</view>
<!-- 遮罩层 -->
<view class="overlay" catchtap ="_close" wx:if="{{isShow}}" animation="{{overlayAnimate}}"></view>

index.wxss

.overlay{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0);
}

.selectComponent{
  background-color: white;
  position: fixed;
  /* bottom: -40%; */
  left: 0;
  width: calc( 100% - 100rpx);
  /* height: 40%; */
  z-index: 10000;
  padding:20rpx 50rpx;
  border-top-right-radius: 20rpx;
  border-top-left-radius: 20rpx;
}
.SubmitBtn{
  border-top: 10px #F7F8FA solid;
  height: 120rpx;
  text-align: center;
  line-height: 90rpx;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #4876F9;
  color: white;
}
.select-ul{
  height: calc( 100% - 200rpx);
  overflow: auto;
  margin-top: 50rpx;
}
.select-li{
  text-align: left;
  line-height: 80rpx;
  height: 80rpx;
  position: relative;
  font-size: 14px;
}
.checkbox{
  top:24rpx !important;
  right: 30rpx !important;
  height: 34rpx;
}
.close{
  width: 14px;
  height: 14px;
  position: absolute;
  right: 30rpx;
  top: 30rpx;
}
.checkbox{
  width: 30rpx;
  height: 30rpx;
  top: 58rpx;
  right: 0rpx;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 30rpx;
}
.singlechecked{
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAfCAYAAAGHa02RAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHwAAAAD3IR61AAAEhklEQVRIDb1WYWgcRRR+M7ezCUcirUojkvZPpLVIRFJLaxEjFDQb0RYkYFspRawV6y+FS661EKw23IG/asEalFixIgaa2CZ3oQUNaJvSWoVAK2JEREoqtkhbgrd7u+N7c5m92bvtXWNrB+7m7Xvve9/OzHtvFmB+dPcVNpHI6K8rVZA0q9HVW7g4/asvaZCh2oPcnLTXWfLHGCZeWGwV1xaavaL8PqLIZxuYCuqk3LUS5CnTmzF2KZex72NOb2FYSnjeNKIBnF5XqbhI2Du1kQw0tBGjBIqClF0p9xKAXEIyDeIvSca/0+e9ubFfLtKq+FXPo3HBboAhq8OgA641alizsuynNmJgu6VonnyEw+kL5Z1XxvRgET7fI+CbH5HBGLw5ad9Dz5v2eoZaneAM/7KfXVnWZpd2Yd7MGXs9l214oMyOhlcOSvH7jPeHuSFmOAKNZ+wDWqfAPf3y7mtz7mWtrDcjaEYxP7dLtrhFd7YeoGM5g57OBNDiadD5Wa7v/lAL+Hg7g90vCnXo534uAckf85Zb+AoncWfD9DmUFnD5qoTx0wG80WMpkM6WShK15lpHXAnQz5T7CkyKuOzWjuasM550Idh0IFmVm4RHGQQX7UY7N9LP/q70iQVTTrv/uI4Efj+GP5sbEJOVQHqOgLt73Z2BlO/HOaLrn8vaROuHO1iYhyEYd3QWt78lHljWMmCP5bL2FGkU2EkVfsHjaiu71JaoGCjn+bO73I6FACnstTnvL5p50YczJNQbo+8IEKWaRVfJKK05pVk94FfvCpg4G2APLHt6vnsgjFVWR6Vj+wSMfhfA4JgfMeBS10VYqfM1GmV/bEDA8GQ1UEeJgF/KuHBkrw3JRoAxBB4+4cPQRJRRA/GYTmJTduliCIMswX75SdqGoXwRvvg62rA0kGbbwo5OR0WXgWloTtJxmJpKmcl81ub86D77HL7CjGmuDQRoTop7yV+9rupHeLmYAW4kU3pSdoVgEuhWou54I1CpMGxb5zX5hYVhgv5TSZoBtIxtuen6nLcNnzfildOJnS8+sRgrMgmT6DfSlBRDuLTrOkbcHPvWTkq2SvBGMf874kA3r2N4kGJDLsvwEoqOCPEzKbkyYN4U5ttdUbdbe8J+e5VLsXYsyy7oSGFCY4J/5oN7/naTEhHFpNjEESHGL648Gjdr5a3OK5YyrLjqKMRBXGRh3X3uy0EgB6vdFq5ZvYLBW1stJGUwPuXD/iPxPYRztt3Cj7pXF04RRax7iEF6iwVWgsHotz58cDSeUKOIkzakXSvMeVETwNanEnAQgxTCO830AHjiYQ6pFxKQQMLhSR8+Gq9NaKDbiXgaf6sMpRKTDQCrH+TgrEnA+d8C2PNxEeYKJa/1HRy/UxKAW6ba8qfHb5pQ00zXPeOWxQCZHQJaFjOYvRKoGcujbjvXDHEznbGqY5VpEp6Oc9K65a0A770m4MxPAbx9aMEr1GGo0U7kMw1dYQOhGrudJVVmKku4U4fxUthCmpCYHu5k54oQEzmNDbvl0oLnjdyxXl2ijf7/X7fTv29b1lvolvvfAAAAAElFTkSuQmCC");  
}
.singleunchecked{
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAXCAYAAAF4748IAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFwAAAAAhQRrqAAACFElEQVRIDbVUPUhCURT2vafxHGoLqikahZBQKKKptS1QEP9rCmlrj5ocanJoEvWpCA5trc0NSVTQGE1RjTWo+dd3rt7He88bz0d24XrPOd93v3vvOefpcmEUCoUFWl2lUinLDOFPpVJZNQHlcvlU5pF+v7/F7Hq9Ps+D+qpp2qvujAxsX2QmwBAHcYUPbrMVrE09AGZGd2DAfzD6Njbo+0IKgDwBeKLPRAAQ4iAHiITYO/fZinvvmQICB5xruvJYJgRcF2VHHgwGmggUxA5YDOoZYQFGO4CzhElWBeoBt9u9IknSVywWezTiY2TqBFxtttvtPqfT6TcjWbcpRdZ8IpbH1KvNyPxO+k6DQW8BPiw6y58BFJkgD0tMzSkiWGMQzVITX1gBkY/sJIg88SDysDI2W1ilnTxQTiaT23apw6Gq6WBssC2Ko3KPkek4lH0ODzrCTGB+I3SL1LG+h78EPwh/BmtJluVzNNwnbNMwCaOYx/iDSYGxi3ffmZi/OEjmGqBLHFCMx+MnnMaEq9VqoNfrXXk8no1IJPLCQSdrrVZb7nQ6N4qi7ESj0YaE5K5DQFNV1RcOh3tOxKxcNL7SarWeEGcdl0PeUn8VpUNIg7Rg5qg7/V6vt4F1KmOk5Sfh+2azGZiKKkTa7XaQNEn4EK1TpPz8VZw0kIoC0ySxf+kK4y2n3sdGcbIn/fKQQg3zTPTl/QCbiSIVV84yRQAAAABJRU5ErkJggg==");  
}
.checked{
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAFMN540AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHgAAAADKQTcFAAACVElEQVRIDWP0KPv5nwEJMCGxwUywwJY2VoaFFaxgAUZ0LRgC2M1ANhhDBYYZyKpBbAwdIMFlNRAnYSjY1AqRiGr5DZIDA4JW4FWA1X6Y0aRJdqSxwDRCvJXsxQwWmJDNwlAx6w+q5Nxtfxnq4pgZCqYiJEAqyHctXp1wy3Ew8HoVhx64MNGaW5JYGJZUIyIXZAIi0ODmoTK6M1gYJIUZGWJaEZEOU4GhOc6NmSHMkYnh/vP/DNwcjAxJXZiaYJoHLsAGzmaiowoWSMj0INfMCkwN2zvZGNjQUgVBZ7MDU+SmVjaG9L7fDL9QsyNqASUmiBwcDAycbAwMG1rYGFK6fzE8eolS4IIVoti8sIKNwVYPIsTFwcCwrpmNIbHzF8PTN6iGwngovvAs/wX222TOPwy5QSwMce2/GF5/gCnFpFFsBkmDDABpTCCgEaR2JCZPivwMCjRyAUZMkWsQqfpGLSY1xDDUswIr+JpYFgYzDUYMOWQBlKyMLEEqG1S0NSSwMBiqMjF8+PKfYclu/CZQbDEHsIRrSmRh0FViYnj3+T9DWu8vhsev8FsKksVpsZ81E0OqNzNDx7I/DEevYBaZXOwMDC3JLAya8kzAAu4/sAL/xfD8LWELYSpwWrzp6D8GIV5GYHyxMvz995+he8VfhoMX/zHwcDIwtKawMKjJMDG8fPefIb7jF8Or9zDjiKeJKkCiXZgYYlxZGP7//8/AyMjI8OzNf4byWb8Z3nwk3iJ0lURZDNNUGs7MsObQX2D7CCZCPk2SxeRbg6lztOTCDBMaiQAAd5umrrmKwxQAAAAASUVORK5CYII=");  
}
.unchecked{
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAAGzs1ytAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFgAAAAAcITNaAAAAaUlEQVQ4EWNcuHDhfwYYQOYwwQRBNCOyDLIEGhuXMhTDkPXglCDWRmTDqMjG5RFsVuD0wyBWTJvgBYXaUAyNYe9mBlLSM7Zki02M5NjGZgguMZKiBJch2MRHDYaHymhQ0D4oaFPQAt0NAFtBH+4zl50uAAAAAElFTkSuQmCC");  
}

调用页面代码

index.wxml

<!-- 出库类型下拉框 -->
<select id="select" options="{{options}}"  topsHeight="{{topsHeight}}" opacity="{{opacity}}" IsSingle="{{IsSingle}}" 
bind:OnSelectFinish="SelectFinish"></select>

json文件需要引用组件

{
  "usingComponents": {
    "select":"../../../../components/select/index"
  }
}

js 文件

const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    options: [], //数据集
    topsHeight: "30%", //高度
    opacity: "0.5", //透明度
    IsSingle: true //是否单选
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //初始化出库类型
    this.initExitType();
  },
  /**
   * 初始化出库类型
   */
  initExitType() {
    /* 这里是系统封装的函数,下面需要换成自己的访问代码*/
    var that = this;
    HTTP.GetExitTypeList().then((res) => {
      if (res.ErrorCode === 0) {
        var newArray = [];
        res.Data.forEach(item => {
          newArray.push({ "Text": item.Text, "Value": item.Value });
        });

        that.setData({
          options: res.Data
        });
      }
    })
  },
  /**
   * 下拉框选择完成事件
   */
  SelectFinish: function (even) {
	  console.log(even.detail)
  },
  /**
   * 显示出库类型下拉框
   */
  selectStockOutType: function () {
    this.selectComponent("#select").showPopup();
  }
})

效果图

微信小程序原生的下拉框组件

微信小程序 select 下拉框组件功能
10-16
主要介绍了微信小程序 select 下拉框组件功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
微信小程序选择下拉框组件
01-27
微信小程序 select 下拉框组件 效果图 由于录屏图片质量不好,所以效果图你会看到有残影(捂脸)
学习笔记——微信小程序下拉选项框的实现
最新发布
m0_63309256的博客
03-28 425
代码中通过range="{{array}}"和value="{{index}}"来绑定下拉选项框的可选数组与其对应的索引,当改变下拉选项框对应的值时,会触发bindchange事件,调用bindpickerchange函数。页面会将data部分的数据转化成初始的wxml页面数据,即页面初始数据为“柴油”,选择器更变数据是会触发bindpickerchange函数,将更改后的值写入页面。、在微信小程序中实现下拉选项框可以使用微信 原生组件picker,
微信小程序 —— picker 组件, 下拉列表组件
u010669626的博客
02-27 775
range-key string 当 range 是一个 object array 时, 通过 range-key。value number 0 表示选择了 range 中的第几个(下标从 0 开始)此处只列举 mode = selector 时,selector 是默认属性,不需要设置。除了通用属性,对于不同的 mode, picker 拥有不同的属性。上面的 weui.wxss 是微信官方提供的 UI 库。用这种格式加到项目里。
微信小程序select下拉框实现
10-16
主要介绍了微信小程序select下拉框实现源码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
uniapp多功能选择器组件,类似于elementui,可搜索可下拉可清空(基于uView二次封装),支持各端兼容,非常好用!!!
qq_32058147的博客
06-07 9313
(1)因为组件基于uView二次封装,所以请安装uView组件,安装步骤请看uView官方文档。说明:@select方法可以在父组件拿到当前选择项的对象数据。废话不多说,先看视频!
小程序——下拉选择框组件
热门推荐
m0_56070223的博客
10-23 1万+
微信小程序一些ui框架中没有下拉选择框组件。在网上找到的下拉框案例基础上修改。得到一个可复用,可自定义的下拉选择组件
微信小程序下拉选择
花无名
07-16 5604
微信小程序下拉框选择,弹出浮层选择,下拉选择
微信小程序原生开发功能合集二:下拉选择组件封装
Java、前端、小程序学习笔记、问题汇总、项目实例分享,有需要请联系。
02-07 1937
本节实现select组件的开发说明,另使用nodejs创建express服务器,为远程加载数据提供数据接口,代码可从源码中下载。
微信小程序--下拉选择框组件封装,可CV直接使用
m0_74444744的博客
10-12 3145
微信小程序--下拉选择框组件封装,可CV直接使用
微信小程序封装vant 下拉框select 多选组件
IT博客技术分享
01-03 2778
微信小程序封装vant 下拉框select 多选组件
微信小程序 select 下拉框组件.zip
01-05
微信小程序的优势在于它方便快捷、轻量级、跨平台、丰富的推广方式、丰富的功能接口、数据分析与优化、结合微信支付、支持多场景应用、社交功能以及多端同步等。这些优点使得小程序能够满足用户的多种需求,提供更好...
小程序中封装下拉选择框
qdm13209211861的博客
02-04 882
小程序中没有现成的下拉选择组件,有个picker组件,但是是底部弹出的,不满足我的需求,所以重新封装了一个。
微信小程序封装自定义van-dropdown-item 下拉选择框
qq_41956361的博客
05-16 2748
微信小程序封装自定义van-dropdown-item 下拉选择框,封装组件
微信小程序---上拉/下拉获取信息组件
python_web全栈
02-23 3229
1. 前端 1.1 app.json配置(默认不支持下拉) 局部配置,如果想全局都可以下拉,那配置在全局的app.json即可 { "enablePullDownRefresh": true } 1.1 html <!-- 表面信息 --> <view class="index_item" wx:for="{{ index_data_list }}" wx:key="index"> <navigator url="/pages/inside/in
mpvue微信小程序下拉框搜索组件
wocwin的博客
04-26 2784
初始下拉选择如(图一) 最终效果如(图二) 思路 左边是输入框,可以进行模糊查询,右边图标进行选择(简单就是根据input输入值进行过滤) 具体代码 <template> <div class="dh-search" :style="dhSearchStyle"> <input v-model.trim="pickerValue" :placeholder="placeholder" class="picker-item-in
微信小程序-自定义下拉框组件
weixin_41635311的博客
09-28 1万+
知识点:组件,animation,获取当前点击元素的索引与内容 微信小程序中没有select下拉选项框,所以只有自定义。自定义的话,可以选择模板的方式,也可以选择组件的方式来创建。 这次我选择了组件,这样只需引入组件和添加数据,其它的不用管,就能实现多个地方重复使用了。 第一步:创建组件所需的文件 我喜欢把共用的内容都放在和pages文件同级的地方,所以有了下面的目录结构   (1) ...
微信小程序封装vant 下拉框select 单选组件
IT博客技术分享
01-03 2304
微信小程序封装vant 下拉框select 单选组件
微信小程序自定义多项内容的下拉选项框——2023.06.08
weixin_44977914的博客
06-08 2801
【代码】微信小程序自定义多项内容的下拉选项框——2023.06.08。
uniapp微信小程序select下拉框
06-10
要在uniapp微信小程序中创建下拉框(select),可以使用uni-app提供的`<picker>`组件。以下是一个简单的示例代码: ```html <template> <view> <picker mode="selector" range="{{options}}" bindchange="handleChange"> <view class="picker"> {{selectedOption}} </view> </picker> </view> </template> <script> export default { data() { return { options: ['Option 1', 'Option 2', 'Option 3'], selectedOption: '' } }, methods: { handleChange(event) { this.selectedOption = this.options[event.detail.value] } } } </script> ``` 在上面的示例中,我们使用了`<picker>`组件来创建下拉框,`mode="selector"`表示选择器模式,`range="{{options}}"`表示下拉框选项数组,`bindchange="handleChange"`表示选项变化时的回调函数。在`<picker>`组件内部,我们用一个`<view>`标签来显示当前选定的选项。在`handleChange`函数中,我们根据选项的`value`属性来更新当前选定的选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
93
原创
516
点赞
1197
收藏
5206
粉丝
关注
私信
写文章

热门文章

  • Tesseract-OCR 中文识别(附上源码) 28091
  • 一、什么Docker? Docker有什么用?Docker能干嘛? 22826
  • 个人博客网站实现微信扫码登录(附源码) 19674
  • AutoCAD 百度网盘免费下载 17576
  • 搭建Redis集群遇到的问题:Waiting for the cluster to join~~~ 16159

分类专栏

  • 微服务 8篇
  • 面试题 2篇
  • .Net 12篇
  • .Net Core 9篇
  • Redis 15篇
  • k8s 6篇
  • Docker 9篇
  • Nginx 7篇
  • Postgre SQL 1篇
  • Sql Server 8篇
  • Jquery 2篇
  • CSS/CSS3 2篇
  • Vue 1篇
  • 微信小程序 5篇
  • Windows 11篇
  • 软件下载 3篇
  • Linux 13篇

最新评论

  • 二、Kubernetes (k8s) 内网集群的搭建详细图解

    天蓝999: 可以的,我看的另一篇,从零搭建Docker和K8S,部署SpringBoot和SpringCloud:https://knife.blog.csdn.net/article/details/137017554

  • Windows使用命令脚本快速修改IP地址

    ZJLY10086: 非常谢谢。

  • 一、Kubernetes (k8s) 是什么, 有什么用?

    泽灯: 非常感谢,很有用

  • .Net Core 使用Swagger,且使用自定义UI(Knife4jUI)

    胡#: 感觉比原生的还要不好用表情包

  • .Net Core 使用Swagger,且使用自定义UI(Knife4jUI)

    胖太乙: 可以看下开源的ReDoc

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 个人博客网站实现微信扫码登录(新)
  • 网络基础之IP地址和子网掩码
  • 六、Linux 软件包管理
2023年6篇
2022年25篇
2021年59篇
2018年3篇
2017年1篇

目录

目录

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖太乙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司大同seo优化多少钱宜春英文网站建设推荐汕尾网站设计多少钱江门网站定制推荐长春SEO按效果付费哪家好滨州网站搭建公司鞍山模板网站建设多少钱鸡西关键词排名包年推广哪家好吕梁外贸网站建设公司内江至尊标王哪家好迪庆模板制作价格吉林SEO按效果付费扬州企业网站制作报价合肥外贸网站制作荷坳外贸网站建设昌都网站排名优化多少钱来宾SEO按天扣费多少钱常德百度关键词包年推广多少钱聊城网站制作推荐阳泉网站搭建哪家好推广网站价格漳州百度标王价格唐山高端网站设计推荐鹤壁关键词按天计费价格淮安企业网站建设报价朝阳seo网站优化推荐百色网站设计遂宁百姓网标王推广价格锦州网站设计模板报价玉树网站排名优化报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化