10人参与 • 2026-01-31 • 微信
在博主印象中设置只读应该是readonly,太久没有写微信小程序,发现没有效果,
于是简单写篇文章记录下。

微信小程序中,设置 readonly 属性后,input 组件仍然可以交互的常见原因:

<input class="search-input" placeholder="请输入你需要搜索的型号" disabled />
特点:
<input class="search-input" placeholder="请输入你需要搜索的型号" bindtap="preventtap" catchtouchstart="preventtouch" />
page({
preventtap(e) {
// 阻止默认行为
return false;
},
preventtouch(e) {
// 阻止触摸事件
return false;
}
})
/* 禁止所有交互 */
.search-input {
pointer-events: none;
-webkit-user-select: none;
user-select: none;
}
/* 仅禁止文本选择 */
.search-input {
user-select: none;
}
<view class="search-display"> 请输入你需要搜索的型号 </view>
<view wx:if="{{isreadonly}}">
<view class="search-text">{{searchvalue}}</view>
</view>
<view wx:else>
<input
class="search-input"
placeholder="请输入你需要搜索的型号"
bindinput="oninput"
/>
</view>
根据具体场景选择方案:
view 组件disabled 属性readonly + 事件阻止pointer-events: nonedisabled 状态需考虑ui兼容性<!-- 综合方案:readonly + 事件阻止 -->
<input
class="search-input readonly-style"
placeholder="请输入你需要搜索的型号"
readonly
bindtap="preventaction"
value="{{searchvalue}}"
/>
page({
data: {
searchvalue: ''
},
preventaction() {
wx.showtoast({
title: '当前不可编辑',
icon: 'none'
})
return false;
}
})
.readonly-style {
background-color: #f5f5f5;
color: #999;
}
按以上方案实施,可有效解决微信小程序中 input 组件只读属性失效问题。
到此这篇关于微信小程序中input组件为什么设置readonly只读属性没有作用(失效)?的文章就介绍到这了,更多相关小程序input设置readonly失效内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论