我正在制作表格,希望用户在下拉菜单中选择“其他”时看到输入字段。
我对React还是很陌生,并试图从输入字段中获取值本身,但是它不起作用。
class Program
{
static int[] occurence(string pattern)
{
int[] table = new int[char.MaxValue + 1];
for (int a = 0; a < char.MaxValue + 1; a++)
{
table[a] = -1;
}
for (int i = 0; i < pattern.Length; i++)
{
char a = pattern[i];
table[(int)a] = i;
}
return table;
}
public static int Sunday(string text, string pattern)
{
Stopwatch timer = new Stopwatch();
timer.Start();
int k = 0;
int i = 0;
int[] table = occurence(pattern);
while (i <= text.Length - pattern.Length)
{
int j = 0;
while (j < pattern.Length && text[i + j] == pattern[j])
{
j++;
}
if (j == pattern.Length)
{
k++;
}
i += pattern.Length;
if (i < text.Length)
{
i -= table[(int)text[i]];
}
}
timer.Stop();
Console.WriteLine(timer.Elapsed);
return k;
}
static void Main(string[] args)
{
string text = File.ReadAllText(@"C:\Users\Bacho\Desktop\Studies\Advanced Algorithms\Test Patterns\Book1.txt");
string pattern = "frankenstein";
Console.WriteLine(Sunday(text, pattern));
}
}
这是一个简单的下拉列表,它将选择的值转换为数字,因此代码的输出将为<FormItem>
<h4 className={ 'register_form_title'}><span className={ "red_astrick_sign"}>*</span>Entity type</h4>
<Select placeholder="Type of entity" onChange={value=> setFieldValue('organisation_type', Number(value))} name="organisation_attributes.organisation_type">
<Option value="1">Public Limited Company</Option>
<Option value="2">Private Limited Company</Option>
<Option value="3">One Person Company</Option>
<Option value="4">Limited Liability Partnership</Option>
<Option value="5">Partnership Firm</Option>
<Option value="6">Sole Proprietorship</Option>
<Option value="0">Others</Option>
</Select>
</FormItem>
。但是,如果他们选择“其他”,则输入字段应确定{"organisation_type":<value>}
。
答案 0 :(得分:1)
onChange
处理程序内部,仅当值不是O
(对于其他)时才通过转换设置当前值,并将input-visibility设置为false。但是,当它为0时,请将input-visibility设置为true。onChange
内,设置当前值。答案 1 :(得分:0)
使用状态变量来跟踪输入字段的可见性。
constructor(props) {
super(props);
this.state = {show_input_field: false}
}
在您的onChange属性中,检查值是否为0,将show_input_field的setState设置为true,否则为false,从而显示/隐藏输入字段。
使用相同的名称属性可以将值保存在所需的'organisation_attributes.organisation_type': <value>
对中。
render() {
const {show_input_field} = this.state;
...
<Select placeholder="Type of entity" onChange={value => {
setFieldValue('organisation_attributes.organisation_type', Number(value));
if (value === 0)
this.setState({show_input_field: true});
else
this.setState({show_input_field: false});
}} name="organisation_attributes.organisation_type">
</Select>
{show_input_field ? <Input name="organisation_attributes.organisation_type" onChange={handleChange}/> : ""}
...
}
希望这会有所帮助。