|  |  | 
 |  |  |     /*每个页面公共css */ | 
 |  |  |     body { | 
 |  |  |         background-color: #f8fafb; | 
 |  |  |         font-family:  Helvetica Neue, Helvetica, sans-serif,'my-font'; | 
 |  |  |         font-family:  Helvetica, sans-serif,'my-font'; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @font-face { | 
 
 |  |  | 
 |  |  |                 <!-- key --> | 
 |  |  |                 <view class="item-key">{{item.title}}</view> | 
 |  |  |                 <!-- value --> | 
 |  |  |                 <view class="item-val">{{item.value}}</view> | 
 |  |  |                 <view class="item-text" v-if="item.type == 'text'">{{mat[item.field]}}</view> | 
 |  |  |                 <!-- <view class="item-text" v-if="item.type == 'text'">{{item.value}}</view> --> | 
 |  |  |                 <view class="item-input" v-if="item.type == 'input'" :style="'text-align:'+ float"> | 
 |  |  |                     <input type="text" @blur="blur" @focus="focus" v-model="inputData"> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="item-input" v-if="item.type == 'number-box'"> | 
 |  |  |                     <uni-number-box v-model="numberData" :max="99999999" :step='1' color="#747474" @change="changeValue" /> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="item-input" v-if="item.type == 'select'"> | 
 |  |  |                     <riko-combox @input="select" :candidates="candidates" :value="city" :inputFlag="true"></riko-combox> | 
 |  |  |             </view> | 
 |  |  |         </view> | 
 |  |  |         </view> | 
 |  |  | 		 | 
 |  |  |         <view class="z-floor"> | 
 |  |  |             <view class="z-primary" @click="back">提取</view> | 
 |  |  |         </view> | 
 |  |  | 		 | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |     export default { | 
 |  |  |         data() { | 
 |  |  |             return { | 
 |  |  |                 candidates: [{name: 'box',id:1},{name: 'plan',id: 2}], | 
 |  |  |                 city: null, | 
 |  |  |                 data: [ | 
 |  |  |                     { | 
 |  |  |                         title: '物料名称物', | 
 |  |  |                         title: '商品名称', | 
 |  |  |                         field: 'maktx', | 
 |  |  |                         hied: false, | 
 |  |  |                         value: '123456' | 
 |  |  |                         value: '123456', | 
 |  |  |                         type: 'text' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         title: '物料编号', | 
 |  |  |                         field: 'maktx', | 
 |  |  |                         title: '商品编号', | 
 |  |  |                         field: 'matnr', | 
 |  |  |                         hied: false, | 
 |  |  |                         value: '温度。空调用来控制数据中心的温度和湿度,制冷与空调' | 
 |  |  |                         value: '温度。空调', | 
 |  |  |                         type: 'text' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         title: '物料名称物物料名称物', | 
 |  |  |                         field: 'maktx', | 
 |  |  |                         title: '规格', | 
 |  |  |                         field: 'specs', | 
 |  |  |                         hied: false, | 
 |  |  |                         value: '123456' | 
 |  |  |                         value: 'φ160*45φ160*45φ160*45φ160*45φ160*45φ160*45φ160*45φ160*45φ160*45φ160*45', | 
 |  |  |                         type: 'text' | 
 |  |  |                     }, | 
 |  |  |                 ] | 
 |  |  |                     { | 
 |  |  |                         title: '批号', | 
 |  |  |                         field: 'batch', | 
 |  |  |                         hied: false, | 
 |  |  |                         value: '物料名称物', | 
 |  |  |                         type: 'input' | 
 |  |  |                     }, | 
 |  |  |                     { | 
 |  |  |                         title: '数量', | 
 |  |  |                         field: 'count', | 
 |  |  |                         hied: false, | 
 |  |  |                         value: '物料名称物', | 
 |  |  |                         type: 'number-box' | 
 |  |  |                     }, | 
 |  |  |                     // { | 
 |  |  |                     //     title: '货主', | 
 |  |  |                     //     field: 'maktx', | 
 |  |  |                     //     hied: false, | 
 |  |  |                     //     value: '物料名称物', | 
 |  |  |                     //     type: 'select' | 
 |  |  |                     // }, | 
 |  |  |                 ], | 
 |  |  |                 mat: '', | 
 |  |  |                 float: 'left', | 
 |  |  |                 inputData: '', | 
 |  |  |                 numberData: '' | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         onLoad(option) { | 
 |  |  |             let _this = this | 
 |  |  |             const eventChannel = this.getOpenerEventChannel(); | 
 |  |  |             // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 | 
 |  |  |             eventChannel.on('mat', function(data) { | 
 |  |  |                 _this.mat = data.mat | 
 |  |  |             }) | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |             blur() { | 
 |  |  |                 this.float = 'right' | 
 |  |  |             }, | 
 |  |  |             focus() { | 
 |  |  |                 let newData = this.inputData | 
 |  |  |                 this.inputData = '' | 
 |  |  |                 this.float = 'left' | 
 |  |  |                 this.inputData = newData | 
 |  |  |             }, | 
 |  |  |             changeValue() { | 
 |  |  |             }, | 
 |  |  |             select(e){ | 
 |  |  |                 console.log(e); | 
 |  |  |             }, | 
 |  |  |             back() { | 
 |  |  |                 if (this.mat.anfme === 0) { | 
 |  |  |                     uni.showToast({title: '请输入数量', icon: "none", position: 'top'}); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 this.getOpenerEventChannel().emit('matList', {data: this.mat}); | 
 |  |  |                 uni.navigateBack({ | 
 |  |  |              | 
 |  |  |                 }) | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style scoped> | 
 |  |  |     .box { | 
 |  |  |         min-height: 50rpx; | 
 |  |  |         background-color: antiquewhite; | 
 |  |  |         min-height: 60rpx; | 
 |  |  |         /* background-color: #202124; */ | 
 |  |  |         /* color: #FFF; */ | 
 |  |  |         background-color: #FFF; | 
 |  |  |         margin: 16rpx; | 
 |  |  |         padding: 64rpx 32rpx 1rpx 32rpx; | 
 |  |  |     } | 
 |  |  |     .item { | 
 |  |  |         display: flex; | 
 |  |  |         align-items: center; | 
 |  |  |         margin: 8rpx; | 
 |  |  |         min-height: 60rpx; | 
 |  |  |         margin: 20rpx 0; | 
 |  |  |         border-bottom: 1px solid #efeef2; | 
 |  |  |         vertical-align: bottom; | 
 |  |  |         padding: 0 10rpx; | 
 |  |  |         line-height: 1.3; | 
 |  |  |     } | 
 |  |  |     .item:last-child { | 
 |  |  |         border-bottom: none; | 
 |  |  |         margin: 10rpx 0; | 
 |  |  |     } | 
 |  |  |     .item-key{ | 
 |  |  |         background-color: #888; | 
 |  |  |         min-width: 6em; | 
 |  |  |         max-width: 6em; | 
 |  |  |         align-self: center; | 
 |  |  |         vertical-align: bottom; | 
 |  |  |         font-weight: bold; | 
 |  |  |     } | 
 |  |  |     .item-val { | 
 |  |  |     .item-text { | 
 |  |  |         flex: 1; | 
 |  |  |         border: 1px solid #999; | 
 |  |  |         border-radius: 16rpx; | 
 |  |  |         padding: 4rpx; | 
 |  |  |         align-self: center; | 
 |  |  | 		 | 
 |  |  | 		 | 
 |  |  |         text-align: right; | 
 |  |  |         word-break: break-all | 
 |  |  |     } | 
 |  |  |     .item-input { | 
 |  |  |         padding: 4rpx; | 
 |  |  |         flex: 1; | 
 |  |  |         align-self: center; | 
 |  |  |     } | 
 |  |  | </style> | 
 
 |  |  | 
 |  |  |             async getMat(matnr) { | 
 |  |  |                 let res = await addMat.addMat(matnr) | 
 |  |  |                 if (res.code === 200 && res.data) { | 
 |  |  |                     res.data['count'] = 1 | 
 |  |  |                     this.zDataList =  util.matCheck(res.data,this.zDataList) | 
 |  |  |                     this.matPick(res.data) | 
 |  |  |                     // res.data['count'] = 1 | 
 |  |  |                     // this.zDataList =  util.matCheck(res.data,this.zDataList) | 
 |  |  |                     this.matnr = '' | 
 |  |  |                 } else if (res.code === 200 && !res.data) { | 
 |  |  |                     let msg = `${this.matnr} 物料异常,请重试` | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             // 跳转物料提取页面 | 
 |  |  |             matPick() { | 
 |  |  |             matPick(mat) { | 
 |  |  |                 let _this = this | 
 |  |  |                 uni.navigateTo({ | 
 |  |  |                     url: '/pages/common/data-list/dataDetail', | 
 |  |  |                     url: '/pages/common/mat/matPick', | 
 |  |  |                     // 传 | 
 |  |  |                     success: function(data) { | 
 |  |  |                         data.eventChannel.emit('param', { | 
 |  |  |                             param: param, | 
 |  |  |                             index: index | 
 |  |  |                         data.eventChannel.emit('mat', { | 
 |  |  |                             mat: mat, | 
 |  |  |                         }) | 
 |  |  |                     }, | 
 |  |  |                     // 接 | 
 |  |  |                     events: { | 
 |  |  |                         dataList: function(data) { | 
 |  |  |                             console.log(data); | 
 |  |  |                         matList: function(data) { | 
 |  |  |                             data.data['count'] = 1 | 
 |  |  |                             let newList = util.matCheck(data.data,_this.zDataList) | 
 |  |  |                             _this.zDataList =  '' | 
 |  |  |                             _this.zDataList = newList | 
 |  |  |                         }, | 
 |  |  |                         del: function(data) { | 
 |  |  |                             _this.zDataList.splice(data.data,1) | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |                 }) | 
 |  |  |             }, | 
 
 |  |  | 
 |  |  | *  | 
 |  |  | */ | 
 |  |  | function matCheck(mat, matList) { | 
 |  |  |     // console.log("matList:" + matList); | 
 |  |  |     // console.log("mat:" + JSON.stringify(mat)); | 
 |  |  |     let newMatList = [], | 
 |  |  |         add = true; | 
 |  |  |     if (matList.length > 0) { | 
 
| New file | 
 |  |  | 
 |  |  | ## 2.0.0(2023-04-15) | 
 |  |  | - 个人优化 By LuckyRiko | 
 |  |  | ## 1.0.1(2021-11-23) | 
 |  |  | - 优化 label、label-width 属性 | 
 |  |  | ## 1.0.0(2021-11-19) | 
 |  |  | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) | 
 |  |  | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox) | 
 |  |  | ## 0.1.0(2021-07-30) | 
 |  |  | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) | 
 |  |  | ## 0.0.6(2021-05-12) | 
 |  |  | - 新增 组件示例地址 | 
 |  |  | ## 0.0.5(2021-04-21) | 
 |  |  | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 | 
 |  |  | ## 0.0.4(2021-02-05) | 
 |  |  | - 优化 组件引用关系,通过uni_modules引用组件 | 
 |  |  | ## 0.0.3(2021-02-04) | 
 |  |  | - 调整为uni_modules目录规范 | 
 
| New file | 
 |  |  | 
 |  |  | <template> | 
 |  |  |     <view class="uni-combox" :class="border ? '' : 'uni-combox__no-border'"> | 
 |  |  |         <view v-if="label" class="uni-combox__label" :style="labelStyle"> | 
 |  |  |             <text>{{label}}</text> | 
 |  |  |         </view> | 
 |  |  |         <view class="uni-combox__input-box"> | 
 |  |  |             <input class="uni-combox__input" type="text" :placeholder="placeholder" :disabled="!inputFlag" | 
 |  |  |                 placeholder-class="uni-combox__input-plac" v-model="inputVal" :focus="showSelector && inputFlag" | 
 |  |  |                 @click="toggleSelector" /> | 
 |  |  |             <uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector"> | 
 |  |  |             </uni-icons> | 
 |  |  |         </view> | 
 |  |  |         <view class="uni-combox__selector" v-if="showSelector"> | 
 |  |  |             <view class="uni-popper__arrow"></view> | 
 |  |  |             <scroll-view scroll-y="true" class="uni-combox__selector-scroll"> | 
 |  |  |                 <view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0"> | 
 |  |  |                     <text>{{emptyTips}}</text> | 
 |  |  |                 </view> | 
 |  |  |  | 
 |  |  |                 <block v-else> | 
 |  |  |                     <view class="uni-combox__selector-item" @click="onSelectorClick('')"> | 
 |  |  |                         <text style="color: #aeafb1;">清除所选内容</text> | 
 |  |  |                     </view> | 
 |  |  |                     <view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="item.id" | 
 |  |  |                         @click="onSelectorClick(item.name)"> | 
 |  |  |                         <text>{{item.name}}</text> | 
 |  |  |                     </view> | 
 |  |  |                 </block> | 
 |  |  |             </scroll-view> | 
 |  |  |         </view> | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |     /** | 
 |  |  |      * Combox 组合输入框 | 
 |  |  |      * @description 组合输入框一般用于既可以输入也可以选择的场景 | 
 |  |  |      * @tutorial https://ext.dcloud.net.cn/plugin?id=1261 | 
 |  |  |      * @property {String} label 左侧文字 | 
 |  |  |      * @property {String} labelWidth 左侧内容宽度 | 
 |  |  |      * @property {String} placeholder 输入框占位符 | 
 |  |  |      * @property {Array} candidates 候选项列表 | 
 |  |  |      * @property {String} emptyTips 筛选结果为空时显示的文字 | 
 |  |  |      * @property {String} value 组合框的值 | 
 |  |  |      */ | 
 |  |  |     export default { | 
 |  |  |         name: 'uniCombox', | 
 |  |  |         emits: ['input', 'update:modelValue'], | 
 |  |  |         props: { | 
 |  |  |             inputFlag: { | 
 |  |  |                 type: Boolean, | 
 |  |  |                 default: false | 
 |  |  |             }, | 
 |  |  |             border: { | 
 |  |  |                 type: Boolean, | 
 |  |  |                 default: true | 
 |  |  |             }, | 
 |  |  |             label: { | 
 |  |  |                 type: String, | 
 |  |  |                 default: '' | 
 |  |  |             }, | 
 |  |  |             labelWidth: { | 
 |  |  |                 type: String, | 
 |  |  |                 default: 'auto' | 
 |  |  |             }, | 
 |  |  |             placeholder: { | 
 |  |  |                 type: String, | 
 |  |  |                 default: '' | 
 |  |  |             }, | 
 |  |  |             candidates: { | 
 |  |  |                 type: Array, | 
 |  |  |                 default () { | 
 |  |  |                     return [] | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             emptyTips: { | 
 |  |  |                 type: String, | 
 |  |  |                 default: '无匹配项' | 
 |  |  |             }, | 
 |  |  |             // #ifndef VUE3 | 
 |  |  |             value: { | 
 |  |  |                 type: [String, Number], | 
 |  |  |                 default: '' | 
 |  |  |             }, | 
 |  |  |             // #endif | 
 |  |  |             // #ifdef VUE3 | 
 |  |  |             modelValue: { | 
 |  |  |                 type: [String, Number], | 
 |  |  |                 default: '' | 
 |  |  |             }, | 
 |  |  |             // #endif | 
 |  |  |         }, | 
 |  |  |         data() { | 
 |  |  |             return { | 
 |  |  |                 showSelector: false, | 
 |  |  |                 inputVal: '' | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         computed: { | 
 |  |  |             labelStyle() { | 
 |  |  |                 if (this.labelWidth === 'auto') { | 
 |  |  |                     return "" | 
 |  |  |                 } | 
 |  |  |                 return `width: ${this.labelWidth}` | 
 |  |  |             }, | 
 |  |  |             filterCandidates() { | 
 |  |  |                 // console.log('---this.inputVal---', this.inputVal); | 
 |  |  |                 if (this.inputVal && this.inputFlag == true) { | 
 |  |  |                     return this.candidates.filter((item) => { | 
 |  |  |                         return item.name.indexOf(this.inputVal) > -1; | 
 |  |  |                     }) | 
 |  |  |                 } else { | 
 |  |  |                     return this.candidates; | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             filterCandidatesLength() { | 
 |  |  |                 return this.filterCandidates.length | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         watch: { | 
 |  |  |             // #ifndef VUE3 | 
 |  |  |             value: { | 
 |  |  |                 handler(newVal) { | 
 |  |  |                     this.inputVal = newVal | 
 |  |  |                 }, | 
 |  |  |                 immediate: true | 
 |  |  |             }, | 
 |  |  |             // #endif | 
 |  |  |             // #ifdef VUE3 | 
 |  |  |             modelValue: { | 
 |  |  |                 handler(newVal) { | 
 |  |  |                     this.inputVal = newVal | 
 |  |  |                 }, | 
 |  |  |                 immediate: true | 
 |  |  |             }, | 
 |  |  |             // #endif | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |             toggleSelector() { | 
 |  |  |                 this.showSelector = !this.showSelector; | 
 |  |  |                 if(this.inputFlag == true && this.showSelector == false){ | 
 |  |  |                     this.onSelectorClick(this.inputVal); | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             onSelectorClick(itemName) { | 
 |  |  |                 let item = ''; | 
 |  |  |                 if (itemName) { | 
 |  |  |                     item = this.filterCandidates.find(item => item.name === itemName); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (!item) { | 
 |  |  |                     this.inputVal = '' | 
 |  |  |                 } else { | 
 |  |  |                     this.inputVal = itemName | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 this.$emit('input', item) | 
 |  |  |                 // #ifdef VUE3 | 
 |  |  |                 this.$emit('update:modelValue', item) | 
 |  |  |                 // #endif | 
 |  |  |  | 
 |  |  |                 this.showSelector = false | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style lang="scss" scoped> | 
 |  |  |     .uni-combox { | 
 |  |  |         font-size: 14px; | 
 |  |  |         border: 1px solid #DCDFE6; | 
 |  |  |         border-radius: 4px; | 
 |  |  |         padding: 2px 10px; | 
 |  |  |         position: relative; | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         display: flex; | 
 |  |  |         /* #endif */ | 
 |  |  |         // height: 40px; | 
 |  |  |         flex-direction: row; | 
 |  |  |         align-items: center; | 
 |  |  |         // border-bottom: solid 1px #DDDDDD; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__label { | 
 |  |  |         font-size: 16px; | 
 |  |  |         line-height: 22px; | 
 |  |  |         padding-right: 10px; | 
 |  |  |         color: #999999; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__input-box { | 
 |  |  |         position: relative; | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         display: flex; | 
 |  |  |         /* #endif */ | 
 |  |  |         flex: 1; | 
 |  |  |         flex-direction: row; | 
 |  |  |         align-items: center; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__input { | 
 |  |  |         flex: 1; | 
 |  |  |         font-size: 14px; | 
 |  |  |         height: 22px; | 
 |  |  |         line-height: 22px; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__input-plac { | 
 |  |  |         font-size: 14px; | 
 |  |  |         color: #999; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__selector { | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         box-sizing: border-box; | 
 |  |  |         /* #endif */ | 
 |  |  |         position: absolute; | 
 |  |  |         top: calc(100% + 12px); | 
 |  |  |         left: 0; | 
 |  |  |         width: 100%; | 
 |  |  |         background-color: #FFFFFF; | 
 |  |  |         border: 1px solid #EBEEF5; | 
 |  |  |         border-radius: 6px; | 
 |  |  |         box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); | 
 |  |  |         z-index: 2; | 
 |  |  |         padding: 4px 0; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__selector-scroll { | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         max-height: 200px; | 
 |  |  |         box-sizing: border-box; | 
 |  |  |         /* #endif */ | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__selector-empty, | 
 |  |  |     .uni-combox__selector-item { | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         display: flex; | 
 |  |  |         cursor: pointer; | 
 |  |  |         /* #endif */ | 
 |  |  |         line-height: 36px; | 
 |  |  |         font-size: 14px; | 
 |  |  |         text-align: center; | 
 |  |  |         // border-bottom: solid 1px #DDDDDD; | 
 |  |  |         padding: 0px 10px; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__selector-item:hover { | 
 |  |  |         background-color: #f9f9f9; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__selector-empty:last-child, | 
 |  |  |     .uni-combox__selector-item:last-child { | 
 |  |  |         /* #ifndef APP-NVUE */ | 
 |  |  |         border-bottom: none; | 
 |  |  |         /* #endif */ | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // picker 弹出层通用的指示小三角 | 
 |  |  |     .uni-popper__arrow, | 
 |  |  |     .uni-popper__arrow::after { | 
 |  |  |         position: absolute; | 
 |  |  |         display: block; | 
 |  |  |         width: 0; | 
 |  |  |         height: 0; | 
 |  |  |         border-color: transparent; | 
 |  |  |         border-style: solid; | 
 |  |  |         border-width: 6px; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-popper__arrow { | 
 |  |  |         filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); | 
 |  |  |         top: -6px; | 
 |  |  |         left: 10%; | 
 |  |  |         margin-right: 3px; | 
 |  |  |         border-top-width: 0; | 
 |  |  |         border-bottom-color: #EBEEF5; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-popper__arrow::after { | 
 |  |  |         content: " "; | 
 |  |  |         top: 1px; | 
 |  |  |         margin-left: -6px; | 
 |  |  |         border-top-width: 0; | 
 |  |  |         border-bottom-color: #fff; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .uni-combox__no-border { | 
 |  |  |         border: none; | 
 |  |  |     } | 
 |  |  | </style> | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |   "id": "riko-combox", | 
 |  |  |   "displayName": "riko-combox 下拉单选框", | 
 |  |  |   "version": "2.0.0", | 
 |  |  |   "description": "可以选择也可以搜索的下拉单选框 官方魔改版 By LuckyRiko", | 
 |  |  |   "keywords": [ | 
 |  |  |     "uni-ui", | 
 |  |  |     "uniui", | 
 |  |  |     "combox", | 
 |  |  |     "组合框", | 
 |  |  |     "select" | 
 |  |  | ], | 
 |  |  |   "repository": "", | 
 |  |  | "engines": { | 
 |  |  |   }, | 
 |  |  |   "directories": { | 
 |  |  |     "example": "../../temps/example_temps" | 
 |  |  |   }, | 
 |  |  | "dcloudext": { | 
 |  |  |     "sale": { | 
 |  |  |       "regular": { | 
 |  |  |         "price": "0.00" | 
 |  |  |       }, | 
 |  |  |       "sourcecode": { | 
 |  |  |         "price": "0.00" | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     "contact": { | 
 |  |  |       "qq": "" | 
 |  |  |     }, | 
 |  |  |     "declaration": { | 
 |  |  |       "ads": "无", | 
 |  |  |       "data": "无", | 
 |  |  |       "permissions": "无" | 
 |  |  |     }, | 
 |  |  |     "npmurl": "", | 
 |  |  |     "type": "component-vue" | 
 |  |  |   }, | 
 |  |  |   "uni_modules": { | 
 |  |  |     "dependencies": [ | 
 |  |  |             "uni-scss", | 
 |  |  |             "uni-icons" | 
 |  |  |         ], | 
 |  |  |     "encrypt": [], | 
 |  |  |     "platforms": { | 
 |  |  |       "cloud": { | 
 |  |  |         "tcb": "y", | 
 |  |  |         "aliyun": "y" | 
 |  |  |       }, | 
 |  |  |       "client": { | 
 |  |  |         "App": { | 
 |  |  |           "app-vue": "y", | 
 |  |  |           "app-nvue": "n" | 
 |  |  |         }, | 
 |  |  |         "H5-mobile": { | 
 |  |  |           "Safari": "y", | 
 |  |  |           "Android Browser": "y", | 
 |  |  |           "微信浏览器(Android)": "y", | 
 |  |  |           "QQ浏览器(Android)": "y" | 
 |  |  |         }, | 
 |  |  |         "H5-pc": { | 
 |  |  |           "Chrome": "y", | 
 |  |  |           "IE": "y", | 
 |  |  |           "Edge": "y", | 
 |  |  |           "Firefox": "y", | 
 |  |  |           "Safari": "y" | 
 |  |  |         }, | 
 |  |  |         "小程序": { | 
 |  |  |           "微信": "y", | 
 |  |  |           "阿里": "y", | 
 |  |  |           "百度": "y", | 
 |  |  |           "字节跳动": "y", | 
 |  |  |           "QQ": "y" | 
 |  |  |         }, | 
 |  |  |         "快应用": { | 
 |  |  |           "华为": "u", | 
 |  |  |           "联盟": "u" | 
 |  |  |         }, | 
 |  |  |         "Vue": { | 
 |  |  |             "vue2": "y", | 
 |  |  |             "vue3": "y" | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | ## Combox 组合框 | 
 |  |  | > **组件名:riko-combox** | 
 |  |  |  | 
 |  |  | 组合框组件。 | 
 |  |  |  | 
 |  |  | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox) | 
 |  |  | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839  |