第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在材質(zhì) UI 選擇菜單中使用子標(biāo)題

如何在材質(zhì) UI 選擇菜單中使用子標(biāo)題

飲歌長嘯 2022-09-02 16:12:04
我正在努力了解如何在使用粘性子標(biāo)題的Select控件上正確設(shè)置一長串菜單項。問題是,當(dāng)項目滾動時,它們會遮蓋副標(biāo)題。我查看了分組選擇項的材質(zhì) UI 示例作為開始。我想要看起來像帶有固定子標(biāo)題列表的材質(zhì) UI 示例的行為。這是我正在嘗試的代碼沙盒。下面是我的代碼片段:<Select        className={classes.root}        MenuProps={{ className: classes.menu }}        value="Pick one"        onChange={e => {}}      >        {subHeaders.map(header => (          <li key={header}>            <ul>              <ListSubheader>{header}</ListSubheader>              {items.map(item => (                <MenuItem key={item} value={item}>                  {item}                </MenuItem>              ))}            </ul>          </li>        ))}      </Select>以下是問題的快照:
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊

使用Select組件,我們甚至可以通過一些更正來重現(xiàn)行為。但它對你不起作用“選擇”組件不需要嵌套在子元素中的項。這樣,我們將永遠(yuǎn)無法識別所選的元素。

或者,我們有自動完成組件。它可以更好地滿足您的需求。

http://img1.sycdn.imooc.com//6311bafb0001eef106540328.jpg

關(guān)于您提供的示例,我們可以執(zhí)行一些操作,但同樣,我們將無法維護(hù)所選項目的狀態(tài)。要實(shí)現(xiàn)與列表相同的行為,我們需要將相同的行為應(yīng)用于 Menu 將呈現(xiàn)的列表。Select 將呈現(xiàn)一個繼承 List 的 Menu,因此我們可以通過 prop MenuListProps 屬性應(yīng)用與列表示例相同的行為。

我已將修復(fù)程序應(yīng)用于您的示例


查看完整回答
反對 回復(fù) 2022-09-02
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個贊

我設(shè)法用粘性菜單項制作了一個Material-ui選擇的工作解決方案。


使用 MaterialUI MenuItem 而不是所有<li> <ul> <ListSubheader>


    const [isOpen, setIsOpen] = useState(false);

    const [value, setValue] = useState();

    

    const onToggle = () => {

        setIsOpen((prev) => !prev);

      };

    

    const onClose = () => {

        setIsOpen(false);

      };

    

    const _onChange = (event: React.ChangeEvent<{ value: unknown }>) => {

        const valueToSelect = event.target.value as Value;

        if (

          isResetSeletced(valueToSelect) ||

          (multiple

            ? !valueToSelect.length ||

              valueToSelect.length < minSelections ||

              (valueToSelect as string[]).some((option) => !option)

            : !valueToSelect?.length && minSelections > 0)

        ) {

          return;

        }

        event.persist();

        onChange(valueToSelect);

      };

    

      const renderValue = (selected: any) => {

        if (!selected.length) {

          return '';

        }

        if (multiple) {

          const isReachedLimit = selected.length > MAX_SELECTIONS;

          const hiddenTags = isReachedLimit ? (

            <span>+{value.length - MAX_SELECTIONS}</span>

          ) : null;

          const selectionsToShow = isReachedLimit

            ? selected.slice(0, MAX_SELECTIONS)

            : selected;

          return (

            <StyledTagsContainer>

              <Tags values={selectionsToShow} onRemoveTag={onRemoveTag} />

              {hiddenTags}

            </StyledTagsContainer>

          );

        }

        return selected;

      };



  const resetMenuItem = secondaryOptions?.map((resetItem, index) => {

    return (

      <MenuItem

        key={resetItem.value + index}

        onClick={() => {

          resetItem.onClick();

        }}

        isLast={!index}

        isSelected={

          resetItem.value === resetSelected?.value ||

          resetItem.value === value ||

          (multiple && resetItem.value === value[0])

        }

        value={resetItem.value}

        icon={<RadioIcon />}

      >

        {resetItem.text}

      </MenuItem>

    );

  });

    

    

    <Select

        displayEmpty

        onClose={onClose}

        value={value}

        onChange={_onChange}

        renderValue={renderValue}

        open={isOpen}

      >

        {menuItems}


        <div style={{ position: 'sticky', bottom: 0 }}>

          {resetMenuItem}

        </div>


    </Select>



查看完整回答
反對 回復(fù) 2022-09-02
  • 2 回答
  • 0 關(guān)注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號