// components/factory-picker/index.js Component({ options: { addGlobalClass: true, }, /** * 页面的初始数据 */ data: { type: 0, modalName: null, value: [], dataList: [] }, methods: { isEmpty: function (val) { return typeof val === 'undefined' || val === '' || val === null }, showPicker: function (dataList, value, type) { var valueList if(this.isEmpty(value)){ valueList = [] } if(this.data.dataList.length > 0 && this.data.type == type){ this.setData({ modalName: 'bottomModal' }) } else { valueList = [] if (value.indexOf(',') != -1) { for (var i = 0; i < this.data.dataList.length; i++) { if (value.indexOf(this.data.dataList[i].value) != -1) { valueList.push(this.data.dataList[i]) } } } this.setData({ modalName: 'bottomModal', value: valueList, type, dataList }) } }, clickItem: function (e) { var item = this.data.dataList[e.currentTarget.dataset.index] var index = -1 for(var i = 0; i< this.data.value.length; i++){ if (Number(item.value) == Number(this.data.value[i].value)){ index = i break } } if(index >= 0){ this.data.value.splice(index, 1) } else { this.data.value.push(item) } this.setData({ value: this.data.value }) this.triggerEvent('customevent', { type: this.data.type, value: this.data.value }) }, hideModal: function(){ this.setData({ modalName: null }) this.triggerEvent('customevent', null) }, confrimModal: function () { this.setData({ modalName: null }) this.triggerEvent('customevent', null) } } })