问题描述
我正在提出以下问题。我正在尝试创建一种功能,当您单击输入时,会出现一个弹出框,您选择几个选项,然后在该输入上设置值(类似于日历)。
您不能在输入上写任何东西,单击时键盘也不应该出现在移动设备上。因此,为解决此问题,将using System;
using System.Linq;
using System.Xml;
using HtmlAgilityPack;
namespace Parser
{
class Program
{
static void Main(string[] args)
{
var html = @"https://terrikon.com/football/spain/championship/";
HtmlWeb web = new HtmlWeb();
var htmlDoc = web.Load(html);
var rows = htmlDoc.DocumentNode.SelectNodes("//*[@id='champs-table']//tr").Skip(1);
int[] TeamId = new int[20];
int[] WinT = new int[20];
int[] DrawT = new int[20];
int[] LoseT = new int[20];
int i = 0;
foreach (HtmlNode row in rows)
{
int id =Convert.ToInt32(row.SelectSingleNode("./td[@class='team']/a").GetAttributeValue("href",string.Empty).Split('/').Last().Trim());
string team = row.SelectSingleNode("./td[@class='team']").InnerText.Trim();
//string win = row.SelectSingleNode("./td[@class='win']").InnerText.Trim();
int win =Convert.ToInt32(row.SelectSingleNode("./td[@class='win']").InnerText.Trim());
//string draw = row.SelectSingleNode("./td[@class='draw']").InnerText.Trim();
int draw =Convert.ToInt32(row.SelectSingleNode("./td[@class='draw']").InnerText.Trim());
//string lose = row.SelectSingleNode("./td[@class='lose']").InnerText.Trim();
int lose =Convert.ToInt32(row.SelectSingleNode("./td[@class='lose']").InnerText.Trim());
TeamId[i] = id;
WinT[i] = win;
DrawT[i] = draw;
LoseT[i] = lose;
Console.WriteLine($"#{id} {team}: {win},{draw},{lose}");
i++;
}
for ( i = 0; i < 20; i++)
{
Console.WriteLine(TeamId[i] + " /" + WinT[i]+" /"+DrawT[i]+ " /"+LoseT[i]+ " /");
}
}
}
}
参数添加到输入中。
该示例可以总结为“单击输入然后设置值”,如以下代码所示:
using System;
using System.Linq;
using System.Xml;
using HtmlAgilityPack;
namespace ParseGoogle
{
class Program
{
static void Main(string[] args)
{
// var html = @"https://terrikon.com/football/spain/championship/";
var html = @"https://www.google.com/"; // it is just example. Here Could be any request by google
HtmlWeb web = new HtmlWeb();
var htmlDoc = web.Load(html);
string result = @"<div class=""r"">
</div>";
var rows = htmlDoc.DocumentNode.SelectNodes(result).Skip(1);
string str = "";
foreach (HtmlNode row in rows)
{
string Str = row.SelectSingleNode("./h3").InnerText.Trim();
str = Str;
}
}
}
}
So it acts like this with a simple click on the input
这是非常基本的,并且在移动设备和台式机上均可正常运行。但是,当用户在Android上使用 TalkBack 时,问题就开始了。由于它只是一个readOnly
输入,因此它不会与输入交互,它只会读取它,因此该函数不会执行。并且const InputContainer = () => {
const [inputValue,setValue] = useState("")
return (
<div>
<input
onClick={() => setValue("value set")}
readOnly
value={inputValue}
/>
</div>
)
}
被删除时,它没有单击它,而是弹出了键盘。
几天来,我一直在寻找解决方案,这些解决方案不涉及将事物更改为非输入的另一种组件,因为我们一直在寻找是否有解决方法首先,不要更改已经确定的表格。
任何帮助都很好,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)