uniapp中uni-list-chat组件点击无法在真机微信小程序响应

最近在用uniapp做一个项目的时候用到uni-list-chat组件,并想点击实现进一步的功能,但是uni-list-chat组件的点击事件在浏览器和微信小程序开发工具中运行正常,在真机模拟时无法响应点击事件。不知道是不是bug。

官方文档是这么说的:

聊天列表示例

  • 设置 clickabletrue ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 click 事件
  • 设置 link 属性,会自动开启点击反馈,link 的值表示跳转方式,如果不指定,默认为 navigateTo
  • 设置 to 属性,可以跳转页面
  • time 属性,通常会设置成时间显示,但是这个属性不仅仅可以设置时间,你可以传入任何文本,注意文本长度可能会影响显示
  • avataravatarList 属性同时只会有一个生效,同时设置的话,avatarList 属性的长度大于1 ,avatar 属性将失效
  • 可以通过默认插槽自定义列表右侧内容
  • 
    <uni-list>
    	<uni-list :border="true">
    		<!-- 显示圆形头像 -->
    		<uni-list-chat :avatar-circle="true" title="uni-app" avatar="https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" ></uni-list-chat>
    		<!-- 右侧带角标 -->
    		<uni-list-chat title="uni-app" avatar="https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-text="12"></uni-list-chat>
    		<!-- 头像显示圆点 -->
    		<uni-list-chat title="uni-app" avatar="https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
    		<!-- 头像显示角标 -->
    		<uni-list-chat title="uni-app" avatar="https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="99"></uni-list-chat>
    		<!-- 显示多头像 -->
    		<uni-list-chat title="uni-app" :avatar-list="avatarList" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
    		<!-- 自定义右侧内容 -->
    		<uni-list-chat title="uni-app" :avatar-list="avatarList" note="您收到一条新的消息" time="2020-02-02 20:20" badge-positon="left" badge-text="dot" @click="handleItemClick">
    			<view class="chat-custom-right">
    				<text class="chat-custom-text">刚刚</text>
    				<!-- 需要使用 uni-icons 请自行引入 -->
    				<uni-icons type="star-filled" color="#999" size="18"></uni-icons>
    			</view>
    		</uni-list-chat>
    	</uni-list>
    </uni-list>
    
    <script>
    	export default {
    		data() {
    			return {
    				avatarList: [{
    				url: 'https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
    			}, {
    				url: 'https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
    			}, {
    				url: 'https://web-assets.dcloud.net.cn/unidoc/zh/unicloudlogo.png'
    			}]
    
    			}
    		},
    		methods: {
    			 handleItemClick(id) {
    			 	console.log("点击了", id)
    			 	uni.navigateTo({
    			 		url: './detail?id=' + id
    			 	})
    			 },
    			
    </script>
    
    <style>
    	.chat-custom-right {
    	flex: 1;
    	/* #ifndef APP-NVUE */
    	display: flex;
    	/* #endif */
    	flex-direction: column;
    	justify-content: space-between;
    	align-items: flex-end;
    }
    
    .chat-custom-text {
    	font-size: 12px;
    	color: #999;
    }
    </style>
    
    
    

    ListItemChat Props

    属性名类型默认值说明
    titleString-标题
    noteString-描述
    clickableBooleanfalse是否开启点击反馈
    badgeTextString-数字角标内容,设置为 dot 将显示圆点
    badgePositonStringright角标位置
    linkStringnavigateTo是否展示右侧箭头并开启点击反馈,可选值见下表
    toString-跳转页面地址,如填写此属性,click 会返回页面是否跳转成功
    timeString-右侧时间显示
    avatarCircleBooleanfalse是否显示圆形头像
    avatarString-头像地址,avatarCircle 不填时生效
    avatarListArray-头像组,格式为 [{url:''}]

    # Link Options

    属性名说明
    navigateTo同 uni.navigateTo()
    redirectTo同 uni.reLaunch()
    reLaunch同 uni.reLaunch()
    switchTab同 uni.switchTab()

运行效果如下图

 按照官方文档要求,设置 clickabletrue ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 click 事件。但是真机模拟时无法响应点击事件,最后采用另一种方法:

  • 设置 link 属性,会自动开启点击反馈,link 的值表示跳转方式,如果不指定,默认为 navigateTo
  • 设置 to 属性,可以跳转页面
  • <uni-list-chat :title="'申请人:'+item.proposer" :avatar="giveAvatar(item)" :note="'被申请人:'+item.respondent" link :to="'./detail?id=' + item._id">
    							<view class="chat-custom-right">
    								<view class="chat-custom-right-up">
    									<uni-dateformat :threshold="[7200000, 8640000000]" format="yyyy年M月d日"
    										:date="item.proposal_date"></uni-dateformat>
    									<text>申请</text>
    								</view>
    								<view :class="item.status.className">
    									<text class="chat-custom-text">{{item.status.step}}</text>
    								</view>
    							</view>
    						</uni-list-chat>

    将要跳转的页面直接拼接复制给to,真机可以正常运行了。

  • “检索助手”小程序已经更名为“智慧助手”,欢迎品鉴。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值