New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

vi-quantity

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vi-quantity

微信小程序数量编辑组件

latest
Source
npmnpm
Version
0.0.1
Version published
Maintainers
1
Created
Source

数量编辑组件

Tips

  • 该组件的适用场景多数为电商网站的商品数据编辑,没有做其他场景适配
  • 该组件内部触发的提示框为微信小程序内置的 wx.showToast, 提示的文本多数为电商场景中的文案。
  • 该组件没有对触发的提示内容做额外接口,如果组件的使用场景不是电商网站,可以自行内部更改提示文案

使用

小程序组件的引用

打开小程序页面的json配置. 在页面中引用组件,可以使用相对路径也可以使用绝对路径

"usingComponents": {
  "vi-quantity": "./../vi_quantity"
}

情景一:商品详情页对商品数量进行编辑

<view class="quantity-demo">
  <view class="font12 quantity-demo-title">请选择商品数量</view>
  <vi-quantity goodsnumber="{{buyDetailNum}}" quantity="{{100}}" bindchange="detailNumChange"></vi-quantity>
  <view class="font12" style="margin-top: 14px;">你已选择<text class="quantity-demo-tips">{{buyDetailNum}}</text>件商品</view>
</view>

js中的逻辑

detailNumChange({ detail }) {
  this.setData({
    buyDetailNum: detail.num
  })
}

情景二:购物车列表,对商品数量进行编辑

<view class="quantity-demo">
  <view class="font16">情景二:购物车列表,对商品数量进行编辑</view>
  <block wx:for="{{goodsList}}" wx:key="{{index}}">
    <view class="font12 quantity-demo-goodsList quantity-demo-title">购物车商品 -- {{index + 1}}</view>
    <vi-quantity bindchange="numChange" editindex="{{index}}" goodsnumber="{{item.num}}" quantity="{{item.stock}}"></vi-quantity>
  </block>
</view>

<view wx:if="{{isEdit}}" class="quantity-demo font12">
  您正在对购物车中的第 <text class="quantity-demo-tips">{{ editIndex + 1}}</text> 件商品编辑, 
  你准备要购买 <text class="quantity-demo-tips">{{buyNum}}</text> 件 
  该商品的最大库存为 <text class="quantity-demo-tips">{{stock}}</text></view>

js中的逻辑

Page({
  data: {
    editIndex: 0,
    buyNum: 0,
    stock: 0,
    isEdit: false,
    goodsList: [ // mock的数据
      {
        num: 1,
        stock: 2344
      },
      {
        num: 80,
        stock: 12123123
      },
      {
        num: 7,
        stock: 79823
      }
    ]
  },
  numChange({ detail }) {
    if (this.data.isEdit) {
      this.setData({
        editIndex: detail.i,
        buyNum: detail.num,
        stock: this.data.goodsList[detail.i].stock
      })
      return false
    }
    this.setData({
      isEdit: true,
      editIndex: detail.i,
      buyNum: detail.num,
      stock: this.data.goodsList[detail.i].stock
    })
  }
})

属性

接口数据类型说明选项默认值
goodsnumber[ String, [ Number ] ]输入框中默认显示的数量选填1
quantity[ Number ]编辑的最大值选填0
editindex[ Number ]当前编辑的索引, 适用于购物车列表等场景选填0

Events

方法说明returns
change数值改变将会触发该方法返回 i 代表 被编辑的索引, num 为当前编辑的数值

版本信息

  • v0.0.1 第一个版本

Keywords

quantity

FAQs

Package last updated on 10 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts