Nach der Eingabe in den Textbereich in Uniapp wird das Klickereignis des vorherigen Codes ausgelöst.

Sagen Sie mir, dass das Problem bei mir liegtDie reale Maschinendemonstration findet auf dem iOS-System statt (kein Problem beim Debuggen auf Android- oder PC-WeChat-Entwicklern)Klicken Sie auf den Text. Wenn ich vor der Eingabe von Informationen in das Feld klicke, um ein Bild hochzuladen oder zur Fragenliste neben dem Fragen-Feedback zu springen, fülle ich das nächste Mal den Inhalt in das Textfeld ein, unabhängig davon, auf welche Taste ich klicke Auf der Tastatur wird der letzte Klickvorgang ausgeführt und das Popup wird weiterhin vom Telefon aus angezeigt. Laden Sie Bilder hoch oder springen Sie direkt zur Seite mit der Fragenliste

Bin zur Suche auf die offizielle Website gegangen 

Ein Grund für dieses Problem liegt zum Teil darin, dass die Textarea-Komponente nicht dynamisch wechseln kann, um das Eingabeereignis unter dem echten iOS-Gerät zu binden. 

1. Eine Möglichkeit, dies zu umgehen, besteht darin, den dynamischen Dom und den Textbereich des gebundenen Ereignisses gleichzeitig rendern zu lassen (dies erschien mir etwas mühsam, daher habe ich es nicht eingehend untersucht). Wenn die nächste Methode funktioniert nicht, Sie können es versuchen

<template v-if="tag">  
  // 绑定事件的动态dom 或 textarea  
<template>

 2. Platzieren Sie den Textbereich vor dem dynamischen Dom, der das Ereignis bindet (!!!!!) Das ist am einfachsten!!!

Das einfache Verständnis besteht darin, das Textarea-Tag vor den virtuellen Dom zu verschieben, den Sie rendern.

So sah mein vorheriger dynamischer Loop-Dom aus

Das ist es nun. Verschieben Sie die Beschriftung des Textbereichs nach vorne

Dies löst das Problem. Hier ist der Code:

<!-- 添加问题项 -->
<view class="contain-name5">
	<view class="contain-name5-lib1">问题反馈({
   
   { item.content.length }})</view>
	<view class="contain-name5-lib2" @click="addproblemimgcontent(item)">+</view>
</view>
<view class="contain-name6" v-for="(i, index) in item.content" :key="index">
	<!-- 问题反馈 -->
	<view class="contain-name6-lib3">
		<view>问题反馈:</view>
		<image @click.stop="searchproblemkey(i,'问题反馈')"
			style="width: 20px;height: 20px;margin-top: -2px;"
			src="@/static/image/searchkeyword.png">
		</image>
	</view>
    <!-- 文本输入框 -->
	<textarea class="uni-inputname6-num" v-model="i.problemfeedback"
		@blur.stop="handleConfirm(i)" />
	<!-- 问题图片 -->
	<image class="contain-name6-lib0" src="@/static/image/deletetaskitem.png"
		@click.self="deleteproblemimgcontent(item, i, index)"></image>
	<view class="contain-name6-lib1">现场照片</view>
	<view class="contain-name6-lib11con">
		<view class="contain-name6-lib11" v-show="i.imglist.length > 0"
			v-for="(j, index) in i.imglist" :key="j+'_'+index">
			<image :src="j" @click.self="bigimgLook(j,i)"></image>
			<view class="delcontain-name6-lib11" @click="deleteimage(i, j, index)">×</view>
		</view>
		<!-- <view class="contain-name6-lib2" @click.self="addimage(item,i, index)"></view> -->
		<image class="contain-name6-lib2" @click.self="addimage(item,i, index)"
			src="@/static/image/addimg.png"></image>
	</view>
</view>

おすすめ

転載: blog.csdn.net/m0_65607651/article/details/134013191