+
+
= 0
+ ? `branch-option-${branchActiveIndex}`
+ : undefined
+ }
+ aria-autocomplete="list"
+ aria-controls="branch-search-list"
+ aria-expanded={branchSearch.open}
+ aria-haspopup="listbox"
+ aria-label="分支名"
+ role="combobox"
+ id="branch-input"
autoComplete="off"
disabled={submitting}
maxLength={200}
placeholder="master"
value={branch}
- onChange={(event) => setBranch(event.target.value)}
+ onChange={(event) => {
+ setBranchSearchEnabled(true);
+ setBranch(event.target.value);
+ if (commitHash) {
+ setCommitHash('');
+ setCommitSearchEnabled(false);
+ }
+ }}
+ onFocus={() => {
+ setBranchSearchEnabled(true);
+ setBranchSearch((current) => ({ ...current, open: true }));
+ }}
+ onKeyDown={(event) => {
+ handleSearchKeyDown(
+ event,
+ branchSearch,
+ branchActiveIndex,
+ (index) => setBranchActiveIndex(index),
+ (item) => {
+ setBranch(item.name);
+ setCommitHash('');
+ setBranchSearchEnabled(false);
+ setCommitSearchEnabled(false);
+ setBranchSearch((current) => ({
+ ...current,
+ open: false,
+ }));
+ },
+ () =>
+ setBranchSearch((current) => ({
+ ...current,
+ open: false,
+ })),
+ );
+ }}
+ onBlur={() =>
+ window.setTimeout(
+ () =>
+ setBranchSearch((current) => ({
+ ...current,
+ open: false,
+ })),
+ 120,
+ )
+ }
/>
-
-