|
|
- <template>
- <view class="configPopup">
- <uv-popup ref="popup" :round="30" :closeOnClickOverlay="!required">
- <view class="content" v-if="required">
- <scroll-view
- id="scrollView"
- scroll-y="true"
- :scroll-top="scrollTop"
- style="height: 100%;">
- <rich-text :nodes="content"></rich-text>
-
- <!-- <view class="uv-parse"
- v-html="content">
- </view> -->
-
- <view class="uni-color-btn" @click="success">
- 下一步
- </view>
- </scroll-view>
- </view>
- <view class="content" v-else>
- <rich-text :nodes="text || content"></rich-text>
- <!-- <uv-parse :content="text || content"></uv-parse> -->
- </view>
- </uv-popup>
- </view>
- </template>
-
- <script>
- import {
- mapState
- } from 'vuex'
- export default {
- name: 'configPoup',
- props: {
- text: {
- default: ''
- },
- keys: {
- default: [],
- },
- required: {
- default: false,
- },
- },
- data() {
- return {
- content: '',
- index: 0,
- scrollTop : 0,
- }
- },
- created() {
- uni.$on('initConfig', data => {
- this.content = data[this.keys[this.index]]
- })
- },
- methods: {
-
- //打开配置信息菜单
- openContent(content) {
- this.content = content
- this.$refs.popup.open('bottom');
- },
- open(key) {
- this.content = this.configList[key]
- this.$refs.popup.open('bottom');
- },
- openkeys() {
- this.index = 0
- this.content = this.configList[this.keys[this.index]]
- this.$refs.popup.open('bottom');
- },
- success() {
- console.log('click success');
- if (this.index == this.keys.length - 1) {
- this.$emit('success')
- this.$refs.popup.close();
- return
- }
- this.index++
- this.content = this.configList[this.keys[this.index]]
-
- this.scrollTop = 100
-
- this.$nextTick(res => {
- this.scrollTop = 0
- })
-
- },
- },
-
- computed: {
- ...mapState(['configList'])
- }
- }
- </script>
-
- <style lang="scss" scoped>
- .configPopup {
- .content {
- padding: 30rpx 20rpx;
- overflow: scroll;
- height: 50vh;
- box-sizing: border-box;
- .uv-parse{
- width: 100%;
- }
- }
- }
- </style>
|