【微信小程序packer 带搜索功能 直接复制就能用】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

wxml

<view class="date-background" wx:if="{{flag}}">
  <view class='date-gray-background' bindtap='hiddeDatePicker'></view>
  <view class='date-container'>
    <view class="transparent">
      <view class='date-confirm'>
        <view bindtap='hiddeDatePicker' style="color:#f60">取消</view>
        <input bindinput="bindKeyInput" type="text" class="searchInpt" style="width:220px" />
        <view bindtap='confirm' style="color:#12a3f5">确定</view>
      </view>
      <picker-view indicator-class="indicator" value="{{setValues}}" bindchange="bindChange" bindpickend="_bindpickend"
        immediate-change="{{true}}">
        <picker-view-column class="pickViewColumn">
          <text wx:for="{{list}}" wx:key="index" style="color:#000;line-height:46px;text-align:center;display:block"
            decode="{{true}}">{{item[labelKey]}}</text>
        </picker-view-column>
      </picker-view>
    </view>
  </view>
</view>
<view bindtap="showDatePicker" wx:else class="showPickerText">
  {{itemsValue && itemsValue.name ?itemsValue.name :'请选择'+label}}
</view>

wxss

.showPickerText{
  width: 240px;
  text-align: right;
}
.date-background {
  /* position: absolute; */
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2000;

}
.searchInpt{
  width: 220px;
  border: 1px solid #e5e5e5;
  height: 40px;
  border-radius: 5px;
  padding-left: 20px;

}
.date-gray-background {
  position: absolute;
  width: 100%;
  top: 0;
  background: rgba(0, 0, 0, .5);
  height: calc(100% - 500rpx);
}
.date-container {
  position: absolute;
  width: 100%;
  height: 900rpx;
  overflow: hidden;
  background: #fff;
  bottom:0;
  z-index: 1000;
}
 
.date-confirm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:0 20rpx;
  font-size:34rpx;
  line-height: 70rpx;
  padding-top:10px;
  color:var(--ThemeColor)
}
.pickViewColumn{
  height: 900rpx;
  /* margin-top: -300rpx; */
  /* text-align: center; */
 text-align: left;
}
.indicator{
height: 80rpx;
border: 1rpx solid #E5E8E8;
}

wxjs

Component({
  options: {
    // 在组件定义时的选项中启用多slot支持
    multipleSlots: true,

  },
  /**
   * 组件的属性列表
   */
  properties: {
    list: {
      type: Array,
      value: [],
    },
    value: {
      type: Number,
      value: 0,
    },
    label: {
      type: String,
      value: "",
    },
    labelKey: {
      type: String,
      value: "name",
    },
    labelValue: {
      type: String,
      value: "value",
    },

  },
  observers: {
    'list': function (params) {
      if (this.data.itemsCopy.length) return
      this.setData({
        itemsCopy: params
      })
    },
  },
  data: {
    flag: false,
    searchValue: "",
    setValues: [],
    selectIndex: "",
    itemsCopy: [],
    itemsValue: {},
  },
  /**
   * 组件的方法列表
   */
  methods: {
    search(e) {
      let self = this;
      self.triggerEvent("handleSearch", e.detail);
    },
    hiddeDatePicker() {
      this.setData({
        flag: !this.data.flag,
        searchValue: "",
      });
    },
    bindKeyInput(e) {
      this.setData({
        list: e.detail.value ? this.data.itemsCopy.filter(x => x.name.indexOf(e.detail.value) >= 0) : this.data.itemsCopy
      })
    },
    showDatePicker() {
      this.setData({
        flag: !this.data.flag,
      });
      this.getItems();
    },
    confirm() {
      let self = this;
      let item = self.data.list[self.data.selectIndex] ?
        self.data.list[self.data.selectIndex] :
        self.data.list[0];
      let selectIndex = self.data.selectIndex;
      this.setData({
        itemsValue: item
      })
      console.log("选中的值",item)
      this.triggerEvent("myevent", {
        name: item.name,
        item: item,
        selectIndex: selectIndex,
      });
      this.hiddeDatePicker()
    },
    bindChange(e) {
      this.setData({
        selectIndex: e.detail.value[0],
      });
    },
    getItems(e) {
      if(this.data.list.length && this.data.value){
        this.setData({
          setValues:[this.data.list.findIndex(x=>x[this.data.labelValue] == this.data.value) || 0]
        });
      }
    },
  },
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小型校园网是一种将多个建筑物、教室、办公室等设施连接起来的局域网系统。Packer tracert是一种用于网络跟踪和故障排除的工具。在设计小型校园网时,可以使用packer tracert来确保网络连接的稳定和可靠。 首先,在小型校园网设计中,需要确定每个建筑物的主干网络和主要连接设备。这些设备可以是交换机、路由器或光纤接口转换器等。建设者需要使用packer tracert对这些设备进行测试,以确保它们的正常运行和连接。 其次,需要确定每个建筑物内部的网络拓扑结构,包括主干线路和各个终端设备的连接方式。再次,利用packer tracert来测试这些内部连接,以确保它们的稳定性和可靠性。 另外,小型校园网设计还应考虑到网络的拓展性和安全性。网络拓展性意味着校园网能够满足未来增加设备和用户的需求。安全性是指对网络进行保护和防范未授权访问和数据泄露的措施。 在设计小型校园网时,还可以使用packer tracert来评估网络的性能和宽利用率。这将有助于改进网络的效率和提高用户体验。 综上所述,packer tracert对小型校园网设计起到了重要的作用。它可以测试网络设备的连接,检查内部网络的稳定性,评估网络性能,并提供安全保护。通过充分利用packer tracert工具,可以设计一个稳定、高效和安全的小型校园网系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值