vue 公共列表选择组件公共列表选择组件,引用引用Vant-UI的样式方式的样式方式
此组件用于公共选择组件。引用Vant UI 作为样式
特性:特性:
1、支持动态、静态数据源。
2、支持分页加载。
3、支持模糊搜索。
4、支持单选、多选。
组件源码:组件源码:
<template>
<div class="gn-PubSelect">
<van-action-sheet v-model="inShow">
<div class="gn-PubSelect-main" :style="{'height':mainHeight}">
<van-search class="gn-search" placeholder="请输入搜索关键词" v-model="condition" show-action>
<van-button slot="action" size="small" type="primary" @click="inShow = false">确认</van-button>
</van-search>
<div class="gn-select-list">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="filterSelectList"
>
<!--单选控件-->
<van-radio-group v-model="radioResult" v-if="type == 'radio'">
<van-cell-group>
<van-cell
class="gn-cell"
v-for="(item, index) in filterList"
:title="item.Name"
@click="radioResult = item"
:key="item.Id"
clickable>
<van-radio
checked-color="#07c160"
slot="right-icon"
:name="item" />
{{item.Number}}
</van-cell>
</van-cell-group>
</van-radio-group>
<!--复选控件-->
<van-checkbox-group v-model="checkboxResult" v-if="type == 'checkbox'">
<van-cell-group>
<van-cell
class="gn-cell"
v-for="(item, index) in filterList"
clickable
:key="item.Id"
:title="`${item.Name}`"
@click="toggle(index)"
>
<van-checkbox
ref="checkboxes"
checked-color="#07c160"
slot="right-icon"
:name="item"
/>
{{item.Number}}
</van-cell>
</van-cell-group>
</van-checkbox-group>
</van-list>
</div>
</div>
</van-action-sheet>
</div>
</template>