评论

[解决思路] iOS,textarea组件输入和聚焦光标位置问题

[解决思路] iOS,textarea组件输入和聚焦光标位置问题

通过textarea@focus事件,判断是不是iphone手机,然后先置空,在settimeout赋值,具体代码如下,代码水平小白,语法uniapp

组件代码:

<!-- 备注 -->

<view class="mt-[24rpx] rounded-[24rpx] p-[24rpx] bg-bg-white">

<view class="flex justify-between text-[28rpx] font-[400] leading-[40rpx]">

<view class="flex whitespace-nowrap">

<view class="text-text-main">

备注

</view>

</view>

<textarea

class="text-end flex flex-1 ml-[24rpx] break-all text-text-content text-[28rpx] font-[400] leading-[40rpx]"

placeholder="请输入备注信息" placeholder-class="textarea-placeholder" maxlength="150" auto-height

disable-default-padding v-model="remarks" @focus="textareaFocus" data-key="remarks" />

</view>

</view>

js代码:

textareaFocus(event) {

var {

deviceType,

brand

} = uni.getDeviceInfo();

var {

key

} = event.currentTarget.dataset;

if (deviceType === 'phone' && brand?.toLowerCase() === 'iphone' && this[key] !== '') {

var {

value

} = event.detail;

this[key] = '';

setTimeout(() => {

this[key] = value;

}, 1);

};


最后一次编辑于  2025-10-25  
点赞 0
收藏
评论

1 个评论

  • $
    $
    2025-11-19

    我没看懂啊,你这也不是 光标定位 的代码啊?

    原问题:Textarea 点击聚焦 光标 始终出现在首位

    你这 所展示代码 是 将 textarea 的值绑定 到 data-key 上,其他没别的意思了啊

    2025-11-19
    赞同 2
    回复
登录 后发表内容