开始
意见反馈的页面
创建页面
页面配置,设置页面的标题。app端默认不显示滚动条。
"style" :
{
"navigationBarTitleText": "意见反馈",
"enablePullDownRefresh": false,
"app-plus": {
"scrollIndicator": "none"
}
}
页面打开事件
{
icon: "",
name: "意见反馈",
clicktype: "navigateTo",
url: "../../pages/user-set-helper/user-set-helper"
},
页面代码开始
下面的按钮直接复制之前写过的类似的
复制这里的button
<button class="user-set-btn" @tap="submit"
type="primary" >完成</button>
@import url('@/common/form.css');
外层加一个view class是body
<view class="body">
<button class="user-set-btn" @tap="submit"
type="primary" >完成</button>
</view>
折叠官方给了一个扩展
我们选择这个动画的
找到这个文件
本机的路径:
D:\demos\uni-app\hello-uni-app2022\pages\extUI\collapse\collapse.vue
<uni-collapse >
<uni-collapse-item title="使用动画" :show-animation="true">
<view class="content">
<text class="text">默认开启组件动画,使用动画效果折叠内容会有一个从上到下的动画。</text>
</view>
</uni-collapse-item>
<uni-collapse-item title="不使用动画" :show-animation="false">
<view class="content">
<text class="text">设置 show-animation="false",关闭当前组件动画效果。</text>
</view>
</uni-collapse-item>
</uni-collapse>
2022年最新官方demo的代码不再需要单独引用这几个组件。因为默认已经引用了uni-ui的所有的组件了。可以直接就是用。
这是引用了官方的两个自定义的组件
里面还引用了其他的组件。
复制到我们的项目里
把这里的uniIcon组件换成我们当前这个项目的路径。
引入这两个组件
注册组件
展开
初始化数据
随便先填充一些数据
list:[
{
title:"客服什么时候上线?",
content:"123"
},
{
title:"忘记账号/昵称/密码怎么办?",
content:"111111111"
},
{
title:"怎么搜索/查找/关注/取关用户?",
content:"222222"
}
]
v-for循环
<uni-collapse>
<block v-for="(item,index) in list" :key="index">
<uni-collapse-item :title="item.title" :show-animation="false">
<view class="content">
<text class="text">{{item.content}}</text>
</view>
</uni-collapse-item>
</block>
</uni-collapse>
点开居然没有数据。这个应该是官方组件的bug。
2022年最新的官方组件的代码,并没有这个BUG,所以后面可以不用看了。直接看本机代码即可。
我们把内容放在item的外面。
这个组件这里定义了插槽。出现问题的原因,应该就是slot插槽这里的值没有传入组件内。
换一种方法解决问题
扩展组件
为了不影响组件本身,所以这里我们判断contentdata有值 才去输出这段view的内容。
内容都出来了
出现问题的原因可能是uni-collapse里面有插槽,uni-collapse-item里面也有插槽,这两个引起的。可能只有一个插槽就不会有这种问题了。
本节代码
<template>
<view>
<view class="body">
<uni-collapse>
<block v-for="(item,index) in list" :key="index">
<uni-collapse-item :title="item.title" :show-animation="false">
<view class="content">
<text class="text">{{item.content}}</text>
</view>
</uni-collapse-item>
</block>
</uni-collapse>
<button class="user-set-btn" @tap="submit" type="primary">完成</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [{
title: "客服什么时候上线?",
content: "123"
},
{
title: "忘记账号/昵称/密码怎么办?",
content: "111111111"
},
{
title: "怎么搜索/查找/关注/取关用户?",
content: "222222"
}
]
}
},
methods: {
}
}
</script>
<style>
@import url('@/common/form.css');
</style>