<strike id="dydih"><source id="dydih"></source></strike>
    <var id="dydih"><output id="dydih"><source id="dydih"></source></output></var>

      <var id="dydih"><strike id="dydih"><form id="dydih"></form></strike></var>
          <acronym id="dydih"><center id="dydih"><dfn id="dydih"></dfn></center></acronym>
          <var id="dydih"></var>

            在表中顯示新列(column display)

            目標:添加一個包含 url 鏈接的新列。新列的內容應為 first name 和 lastname。所有單元格中的鏈接應為www.google.com。

            目標:
            添加一個包含 url 鏈接的新列。新列的內容應為 first name 和 lastname。所有單元格中的鏈接應為www.google.com。

            問題:
            我不習慣反應表,我該怎么辦?

            Codesandbox:
            https://codesandbox.io/s/exciting-ganguly-7w2d84

            信息:
            * 反應表中的新手

            非常感謝。

            app.js

                import React from 'react'
                import styled from 'styled-components'
                import { useTable } from 'react-table'
                
                import makeData from './makeData'
                
                const Styles = styled.div`
                  padding: 1rem;
                
                  table {
                    border-spacing: 0;
                    border: 1px solid black;
                
                    tr {
                      :last-child {
                        td {
                          border-bottom: 0;
                        }
                      }
                    }
                
                    th,
                    td {
                      margin: 0;
                      padding: 0.5rem;
                      border-bottom: 1px solid black;
                      border-right: 1px solid black;
                
                      :last-child {
                        border-right: 0;
                      }
                    }
                  }
                `
                
                function Table({ columns, data }) {
                  // Use the state and functions returned from useTable to build your UI
                  const {
                    getTableProps,
                    getTableBodyProps,
                    headerGroups,
                    rows,
                    prepareRow,
                  } = useTable({
                    columns,
                    data,
                  })
                
                  // Render the UI for your table
                  return (
                    <table {...getTableProps()}>
                      <thead>
                        {headerGroups.map(headerGroup => (
                          <tr {...headerGroup.getHeaderGroupProps()}>
                            {headerGroup.headers.map(column => (
                              <th {...column.getHeaderProps()}>{column.render('Header')}</th>
                            ))}
                          </tr>
                        ))}
                      </thead>
                      <tbody {...getTableBodyProps()}>
                        {rows.map((row, i) => {
                          prepareRow(row)
                          return (
                            <tr {...row.getRowProps()}>
                              {row.cells.map(cell => {
                                return <td {...cell.getCellProps()}>{cell.render('Cell')}</td>
                              })}
                            </tr>
                          )
                        })}
                      </tbody>
                    </table>
                  )
                }
                
                function App() {
                  const columns = React.useMemo(
                    () => [
                      {
                        Header: 'Name',
                        columns: [
                          {
                            Header: 'First Name',
                            accessor: 'firstName',
                          },
                          {
                            Header: 'Last Name',
                            accessor: 'lastName',
                          },
                        ],
                      },
                      {
                        Header: 'Info',
                        columns: [
                          {
                            Header: 'Age',
                            accessor: 'age',
                          },
                          {
                            Header: 'Visits',
                            accessor: 'visits',
                          },
                          {
                            Header: 'Status',
                            accessor: 'status',
                          },
                          {
                            Header: 'Profile Progress',
                            accessor: 'progress',
                          },
                          {
                            Header: 'Profile Progress1',
                            accessor: 'progress2',
                          },          
                        ],
                      },
                    ],
                    []
                  )
                
                  const data = React.useMemo(() => makeData(20), [])
                
                  return (
                    <Styles>
                      <Table columns={columns} data={data} />
                    </Styles>
                  )
                }
                
                export default App
            ---------------
                makeData.js
            import namor from 'namor'
            const range = len => {
              const arr = []
              for (let i = 0; i < len; i++) {
                arr.push(i)
              }
              return arr
            }
            const newPerson = () => {
              const statusChance = Math.random()
              return {
                firstName: namor.generate({ words: 1, numbers: 0 }),
                lastName: namor.generate({ words: 1, numbers: 0 }),
                age: Math.floor(Math.random() * 30),
                visits: Math.floor(Math.random() * 100),
                progress: Math.floor(Math.random() * 100),
                status:
                  statusChance > 0.66
                    ? 'relationship'
                    : statusChance > 0.33
                    ? 'complicated'
                    : 'single',
              }
            }
            export default function makeData(...lens) {
              const makeDataLevel = (depth = 0) => {
                const len = lens[depth]
                return range(len).map(d => {
                  return {
                    ...newPerson(),
                    subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined,
                  }
                })
              }
              return makeDataLevel()
            }
            
            0

            首先,我們需要編輯我們想要從 makeData 函數返回的內容,為此,我們應該編輯 newPerson 并添加 url,firstNameUrl 和 lastNameUrl。這為我們設置了三個新的訪問器

            const newPerson = () => {
              const statusChance = Math.random();
              return {
                firstName: namor.generate({ words: 1, numbers: 0 }),
                lastName: namor.generate({ words: 1, numbers: 0 }),
                age: Math.floor(Math.random() * 30),
                visits: Math.floor(Math.random() * 100),
                progress: Math.floor(Math.random() * 100),
                url: " www.google.com",
                firstNameUrl: namor.generate({ words: 1, numbers: 0 }),
                lastNameUrl: namor.generate({ words: 1, numbers: 0 }),
                status:
                  statusChance > 0.66
                    ? "relationship"
                    : statusChance > 0.33
                    ? "complicated"
                    : "single"
              };
            };
            

            現在我們有了新的數據鍵,我們可以簡單地告訴 react-table 通過編輯列 useMemo 來呈現什么

            const columns = React.useMemo(
                () => [
                  {
                    Header: "Name",
                    columns: [
                      {
                        Header: "First Name",
                        accessor: "firstName"
                      },
                      {
                        Header: "Last Name",
                        accessor: "lastName"
                      }
                    ]
                  },
                  {
                    Header: "Info",
                    columns: [
                      {
                        Header: "Age",
                        accessor: "age"
                      },
                      {
                        Header: "Visits",
                        accessor: "visits"
                      },
                      {
                        Header: "Status",
                        accessor: "status"
                      },
                      {
                        Header: "Profile Progress",
                        accessor: "progress"
                      }
                    ]
                  },
                  {
                    Header: "Url",
                    columns: [
                      {
                        Header: "First Name",
                        accessor: "firstNameUrl"
                      },
                      {
                        Header: "Last Name",
                        accessor: "lastNameUrl"
                      },
                      {
                        Header: "Url",
                        accessor: "url"
                      }
                    ]
                  }
                ],
                []
              );
            

            我已經編輯了 codepen,您可以找到它here

            @ 編輯

            如果你想呈現一個自定義組件,那么你可以這樣做如下:

                  {
                    Header: "Last Name",
                    accessor: "lastNameUrl",
                    Cell: (e) => <a > {e.value} </a>
                  }
            

            這將呈現為具有訪問器值的鏈接元素-我還更新了 codeph

            本站系公益性非盈利分享網址,本文來自用戶投稿,不代表碼文網立場,如若轉載,請注明出處

            (40)
            CSS使用現有類創建新類定義(從庫中)
            上一篇
            Plaid-error_code:'ITEM_LOGIN_REQUIRED'。每小時左右重復一次
            下一篇

            相關推薦

            • cvt和自動擋哪個好提升駕駛體驗的最佳選擇

              CVT(可變轉換器)是一種由傳動帶及傳動輪組成的無級變速器,它可以在沒有傳動檔位的情況下,根據駕駛者的駕駛習慣,自動調整傳動輪之間的轉速比,從而實現無級變速。自動擋是指車輛自動變速箱,它使用液力傳動來實現變速,可以自動適應車輛的行駛狀態,減少司機的疲勞,提高行車的舒適性。…

              2023-06-08 07:42:19
              0 93 39
            • cv一葉扁舟和清影軒陽:漫游在一葉扁舟和清影軒陽之間

              cv一葉扁舟是一款開源的計算機視覺庫,用于圖像處理、計算機視覺等。它提供了豐富的API,可以幫助開發者快速實現各種圖像處理任務,如圖像分割、目標檢測、圖像識別等。清影軒陽是一款開源的計算機視覺框架,用于圖像處理、目標檢測、分類等。它提供了豐富的API,可以幫助開發者快速實現各種圖像處理任務,如圖像分割、目標檢測、圖像識別等。…

              2023-08-05 07:06:20
              0 27 78
            • css設置滾動條寬度設置:This is a title

              CSS設置滾動條寬度的方法:使用CSS3的。-webkit-屬性:…

              2023-06-06 10:53:01
              0 72 17
            • xl和xe汽車cvt:探索XL和XE汽車的CVT技術優勢

              XL和XE汽車CVT是一種變速器,它使用液力變矩器代替傳統的機械變速器,以達到更高的效率。它的工作原理是,當發動機輸出功率時,液力變矩器就會將這些功率轉換為液壓能量,然后將能量傳遞到變速器的輸出軸上,從而實現變速。…

              2023-04-09 00:41:04
              0 43 36
            • cordon bleu是什么意思:法式炸雞卷——Cordon Bleu的經典之作

              Cordon Bleu是一種烹飪技術,其中肉片被置于奶酪和火腿之間,然后用面包屑裹上,最后煎炸或烤熟。這種技術通常用于制作雞肉,但也可以用于制作其他類型的肉類,如牛肉或豬肉。…

              2024-01-27 15:13:30
              0 42 35
            • countif 非空:非空單元格的計數

              Countif 非空是指計算某個單元格不為空的數量。代碼如下:…

              2023-04-22 15:54:15
              0 62 41
            • java double保留一位小數:How to Round a Double to One Decimal Place in

              示例示例使用類可以輕松實現java double保留一位小數的功能,具體代碼如下:// 創建對象…

              2023-05-14 07:40:03
              0 88 63
            • linux如何寫c語言一個完整的指南

              示例示例在Linux系統中,可以使用C語言編寫源代碼文件,然后使用GCC編譯器來編譯源代碼文件,生成可執行文件。下面是一個簡單的C語言代碼示例:…

              2023-05-16 02:02:45
              0 18 28

            發表評論

            登錄 后才能評論

            評論列表(18條)

              又色又黄18禁免费的网站_国产欧美一区二区三区_一道本日本美女在线国产_欧洲无码国产AV

                <strike id="dydih"><source id="dydih"></source></strike>
                <var id="dydih"><output id="dydih"><source id="dydih"></source></output></var>

                  <var id="dydih"><strike id="dydih"><form id="dydih"></form></strike></var>
                      <acronym id="dydih"><center id="dydih"><dfn id="dydih"></dfn></center></acronym>
                      <var id="dydih"></var>