We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
由于原选择框没有箭头和文本颜色改变。 用 u-icon 展示箭头 , text 利用 conmputed 属性展示选中文本或者placeholder属性
<template> <view> <view @tap.stop="openSelect" class="color-CCCCCC flex align-center"> <text :class="{'isShow':show}" class="animate">{{ showLabel }}</text> <view :class="{'isShow':show}" style="padding-left:6rpx;padding-right:6rpx" > <u-icon class="arrow" :class="{'rotate180':show}" name="arrow-down-fill" size="12"></u-icon> </view> </view> <u-select mode="single-column" v-model="show" :list="list" :value-name="valueKey" :label-name="label" @confirm="confirm" /> </view> </template> <script> /** * @description: 带箭头且文本颜色改变的下拉选择器 * @property {String} placeholder 提示语 * @property {Array} list 数据列表 * @property {String} label 自定义数据标签 * @property {String} valueKey 自定义数据关键Id * @property {String/Number} value 当前选中的值 * @property {bool} show 下拉框控制展示 * @events {Function} openSelect 打开选择框 * @events {Function} confirm 确认选择数据回调通知 * @example: * <DropDownSelect * placeholder="选择医院" * :list="list" * valueKey="id" * @confirm="confirm" * /> */ export default { name: "DropDownSelect", props: { placeholder:{ type: String, default: '选择' }, list:{ type: Array, default : function(){ return [] } }, label :{ type: String, default : 'name' }, valueKey:{ type: String, default: 'value' } }, data(){ return { value:0, show:false } }, computed: { //选择的Id值转化为标签 showLabel() { const r = this.list.find(item => item[this.valueKey] === this.value) return r != undefined && r ? r[this.label] : this.placeholder }, }, methods: { //弹框打开 openSelect(){ this.show = true }, //数据确认 confirm([data]){ this.value = data.value this.$emit('confirm', data.value) } }, } </script> <style scoped lang="scss"> .isShow { color: #2D8CF0 !important; *{ color: #2D8CF0 !important; } } .rotate180{ transform: rotate(180deg) scale(.7) !important; } .arrow{ transform: rotate(0) scale(.7); transition: all 0.2s; } .animate{ transition: all 0.3s; } .color-CCCCCC{ color: #ccc; } .flex{ display: flex; } .align-center{ align-items: center; } </style>
整个新功能用于下拉选中的时候,展示选中的文本以及颜色改变。
<DropDownSelect placeholder="请选择人员" :list="list" //人员列表 label=“name” //要展示的文本字段名 valueKey="id" //列表数据的关键字段名, @confirm="confirm" //选中时返回对应的 关键字段名 的值 />
The text was updated successfully, but these errors were encountered:
No branches or pull requests
这个功能解决了什么问题?
由于原选择框没有箭头和文本颜色改变。 用 u-icon 展示箭头 , text 利用 conmputed 属性展示选中文本或者placeholder属性
你期望的 API 是怎样的?
整个新功能用于下拉选中的时候,展示选中的文本以及颜色改变。
<DropDownSelect
placeholder="请选择人员"
:list="list" //人员列表
label=“name” //要展示的文本字段名
valueKey="id" //列表数据的关键字段名,
@confirm="confirm" //选中时返回对应的 关键字段名 的值
/>
The text was updated successfully, but these errors were encountered: