You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.4 KiB
69 lines
2.4 KiB
<template> |
|
<view class="uni-data-pickerview"> |
|
<view v-if="error!=null" class="error"> |
|
<text class="error-text">{{error!.errMsg}}</text> |
|
</view> |
|
<scroll-view v-if="!isCloudDataList" :scroll-x="true"> |
|
<view class="selected-node-list"> |
|
<template v-for="(item, index) in selectedNodes"> |
|
<text class="selected-node-item" :class="{'selected-node-item-active':index==selectedIndex}" |
|
@click="onTabSelect(index)"> |
|
{{item[mappingTextName]}} |
|
</text> |
|
</template> |
|
</view> |
|
</scroll-view> |
|
<list-view class="list-view" :scroll-y="true"> |
|
<list-item class="list-item" v-for="(item, _) in currentDataList" @click="onNodeClick(item)"> |
|
<text class="item-text" :class="{'item-text-disabled': item['disable']}">{{item[mappingTextName]}}</text> |
|
<text class="check" v-if="item[mappingValueName] == selectedNodes[selectedIndex][mappingValueName]"></text> |
|
</list-item> |
|
</list-view> |
|
<view class="loading-cover" v-if="loading"> |
|
<slot name="pickerview-loading" :loading="loading"></slot> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import { dataPicker } from "./uni-data-picker.uts" |
|
|
|
/** |
|
* DataPickerview |
|
* @description uni-data-pickerview |
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=3796 |
|
* @property {Array} localdata 本地数据,参考 |
|
* @property {Boolean} step-searh = [true|false] 是否分布查询 |
|
* @value true 启用分布查询,仅查询当前选中节点 |
|
* @value false 关闭分布查询,一次查询出所有数据 |
|
* @property {String|DBFieldString} self-field 分布查询当前字段名称 |
|
* @property {String|DBFieldString} parent-field 分布查询父字段名称 |
|
* @property {String|DBCollectionString} collection 表名 |
|
* @property {String|DBFieldString} field 查询字段,多个字段用 `,` 分割 |
|
* @property {String} orderby 排序字段及正序倒叙设置 |
|
* @property {String|JQLString} where 查询条件 |
|
*/ |
|
export default { |
|
name: 'UniDataPickerView', |
|
emits: ['nodeclick', 'change', 'update:modelValue'], |
|
mixins: [dataPicker], |
|
props: { |
|
ellipsis: { |
|
type: Boolean, |
|
default: true |
|
} |
|
}, |
|
created() { |
|
this.loadData() |
|
}, |
|
methods: { |
|
onFinish() { |
|
this.$emit('change', this.getChangeNodes()) |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style> |
|
@import url("uni-data-pickerview.css"); |
|
</style>
|
|
|